Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > 052d79447130ebaf90b2730395954d11 > files > 146

openvrml-doc-0.18.3-1mdv2010.0.i586.rpm

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
               "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>OpenVRML: openvrml::gl::viewer Class Reference</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<link rel="icon" href="../vrml-16">
<link rel="start" href="http://openvrml.org/index" title="OpenVRML Home">
<link rel="prev" href="http://openvrml.org/discussion" title="Discussion">
<link rel="contents" href="index" title="Documentation Main Page">
<link rel="index" href="functions" title="OpenVRML Compound Members">
<link rel="appendix" href="conformance" title="Conformance Test Results">
<style type="text/css">
@import url("tabs.css");
@import url("http://openvrml.org/openvrml.css");

table {
  width: 100%;
}

h2 {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

/*
 * Doxygen as of 1.5.4-20071217 uses the class "navpath" instead of "nav".
 * For now, we'll do both.
 */

div.nav,
div.navpath {
  background-color: transparent;
  text-align: left;
  margin-top: 1em;
  margin-bottom: 1em;
  border-color: black;
  border-left: none;
  border-right: none;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

div.nav :link, div.nav :visited,
div.navpath :link, div.navpath :visited {
  border-width: 1px;
  border-style: solid;
  border-color: silver;
  padding: 2px;
}

div.nav :link:hover, div.nav :visited:hover,
div.navpath :link:hover, div.navpath :visited:hover {
  border-style: outset;
  border-color: gray;
}

div.nav :active,
div.navpath :active {
  border-style: inset;
  border-color: gray;
}

.body td {
  background-color: transparent;
}

.el {
  text-decoration: inherit;
  font-weight: inherit
}
.elRef {
  font-weight: inherit
}
.code:link, .code:visited {
  text-decoration: inherit;
  font-weight: inherit;
  color: inherit;
}
.codeRef:link {
  font-weight: normal;
  color: inherit;
}
:visited {
  color: silver;
}
:link:hover {
  color: inherit;
  text-decoration: inherit;
  background-color: transparent;
}

h1 {
  line-height: 1.2em;
}

td.memItemLeft, td.memItemRight,
td.memTemplParams, td.memTemplItemLeft, td.memTemplItemRight,
.memtemplate, .memname td {
  font-family: Consolas, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Lucida Console", LucidaTypewriter, monospace;
}

td.memItemLeft, td.memItemRight, td.mdescLeft, td.mdescRight {
  background-color: rgb(95%, 95%, 95%);
  border-color: rgb(65%, 65%, 65%);
  border-width: 1px;
  font-size: smaller;
}

.memItemLeft {
  margin-top: 0.5em;
  border-top-style: solid;
}
.mdescLeft {
  border-bottom-style: solid;
}
.memItemRight {
  border-top-style: solid;
  margin-top: 0.5em;
}
.mdescRight {
  border-bottom-style: solid;
}

.mdescRight {
  font-style: italic;
}

.mdTable {
  background-color: rgb(95%, 95%, 95%);
}

.memproto td code {
  font-family: inherit;
  font-style: italic;
}

td.pass {
  background-color: rgb(50%, 100%, 50%);
}

td.fail {
  background-color: rgb(100%, 50%, 50%);
}

td.invalid {
  background-color: rgb(75%, 75%, 75%);
}

.memitem {
  padding: 0;
}

.memitem table {
  width: auto;
}

.memproto, .memdoc {
  border-width: 1px;
  border-color: rgb(65%, 65%, 65%);
}

.memproto {
  background-color: rgb(90%, 90%, 90%);
  font-weight: inherit;
  font-size: smaller;
  border-top-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  -webkit-border-top-left-radius: 0.6em;
  -webkit-border-top-right-radius: 0.6em;
  -moz-border-radius-topleft: 0.6em;
  -moz-border-radius-topright: 0.6em;
}

.memdoc {
  background-color: rgb(95%, 95%, 95%);
  padding: 2px 5px;
  border-style: solid;
  -webkit-border-bottom-left-radius: 0.6em;
  -webkit-border-bottom-right-radius: 0.6em;
  -moz-border-radius-bottomleft: 0.6em;
  -moz-border-radius-bottomright: 0.6em;
}

.memname {
  font-weight: inherit;
}

div.tabs {
  background-image: url("tab_b-openvrml.png");
}

div.tabs span {
  background-image: url("tab_l-openvrml.png");
}

div.tabs a {
  background-image: url("tab_r-openvrml.png");
  border-bottom: 1px solid #a5a5a5;
}

div.tabs a:link, div.tabs a:visited, div.tabs a:active, div.tabs a:hover {
  color: black;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.note {
  border: 1px solid rgb(65%, 65%, 65%);
  background-color: rgb(95%, 95%, 95%);
  margin-left: 10%;
  margin-right: 10%;
}
</style>
</head>
<body>
<table class="sitenav">
  <tr>
    <th><a href="http://openvrml.org/index" title="Home">Home</a></th>
    <th><a href="http://openvrml.org/download" title="Download">Download</a></th>
    <th><a href="http://openvrml.org/screenshots/index" title="Screen shots">Screen shots</a></th>
    <th><a href="http://openvrml.org/discussion" title="Mailing lists and IRC">Discussion</a></th>
    <th>Documentation</th>
  </tr>
</table>
<div class="body">
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceopenvrml.html">openvrml</a>::<a class="el" href="namespaceopenvrml_1_1gl.html">gl</a>::<a class="el" href="classopenvrml_1_1gl_1_1viewer.html">viewer</a>
  </div>
</div>
<div class="contents">
<h1>openvrml::gl::viewer Class Reference</h1><!-- doxytag: class="openvrml::gl::viewer" --><!-- doxytag: inherits="openvrml::viewer" -->Abstract class for display of VRML models using OpenGL/Mesa.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;openvrml/gl/viewer.h&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for openvrml::gl::viewer:</div>
<div class="dynsection">
<p><center><img src="classopenvrml_1_1gl_1_1viewer__inherit__graph.png" border="0" usemap="#openvrml_1_1gl_1_1viewer__inherit__map" alt="Inheritance graph"></center>
<map name="openvrml_1_1gl_1_1viewer__inherit__map">
<area shape="rect" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library." alt="" coords="16,5,139,35"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classopenvrml_1_1gl_1_1viewer-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1event__info.html">event_info</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input event.  <a href="structopenvrml_1_1gl_1_1viewer_1_1event__info.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1light__info.html">light_info</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Light information.  <a href="structopenvrml_1_1gl_1_1viewer_1_1light__info.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer_1_1modelview__matrix__stack.html">modelview_matrix_stack</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulates an extended modelview matrix stack.  <a href="classopenvrml_1_1gl_1_1viewer_1_1modelview__matrix__stack.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#87f674105c2318fd7740110c157062bbd2e88c69f6679eba43d5a593df14ec46">max_lights</a> =  8
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6512fed5f03d9924908bf9478e3d9ab1">light_type</a> { <br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6512fed5f03d9924908bf9478e3d9ab1a0eb480ba1b4fbc8bf8e6feb15bd02fb">light_unused</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6512fed5f03d9924908bf9478e3d9ab1183cabd53c1717e3123932f1eec879df">light_directional</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6512fed5f03d9924908bf9478e3d9ab172c2d061be1909e205c0dcb4465a2761">light_positional</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Light type.  <a href="classopenvrml_1_1gl_1_1viewer.html#6512fed5f03d9924908bf9478e3d9ab1">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e">event_type</a> { <br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80eda76fac3603d2b78021cc6253bf2a5ad">event_key_down</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e3c4d4e624f1cb42979e9cf7714dc97e9">event_mouse_move</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e33fdc27ba5ad14a40fe3ad077443fd8a">event_mouse_click</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e5aef7f5292f43b06b416501965542e49">event_mouse_drag</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80ed43871565c57988737648ed703b57630">event_mouse_release</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event type.  <a href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<b>key_home</b>, 
<br>
&nbsp;&nbsp;<b>key_left</b>, 
<br>
&nbsp;&nbsp;<b>key_up</b>, 
<br>
&nbsp;&nbsp;<b>key_right</b>, 
<br>
&nbsp;&nbsp;<b>key_down</b>, 
<br>
&nbsp;&nbsp;<b>key_page_up</b>, 
<br>
&nbsp;&nbsp;<b>key_page_down</b>
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ba4c3f7ed7f5d3fe3741796a3693e180">viewer</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> for the specified <a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a>.  <a href="#ba4c3f7ed7f5d3fe3741796a3693e180"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c49975541f414afd6f0e10e57043c61c">~viewer</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy.  <a href="#c49975541f414afd6f0e10e57043c61c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e4ebe83282cf3b7d87d3e5af09ea3c20">update</a> (double time=0.0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>.  <a href="#e4ebe83282cf3b7d87d3e5af09ea3c20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#b0d3aab1ec135fc3ab6fa92fe44e1f2b">redraw</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Redraw the <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>.  <a href="#b0d3aab1ec135fc3ab6fa92fe44e1f2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#74f30979dbcd173e2a41c06a2397ed54">resize</a> (size_t width, size_t height)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resize the viewport.  <a href="#74f30979dbcd173e2a41c06a2397ed54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#25893527c3dfdd23d6ec417ad66dad2f">input</a> (<a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1event__info.html">event_info</a> *e)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle an event generated from user input.  <a href="#25893527c3dfdd23d6ec417ad66dad2f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">cursor_style</a> { <br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fabcdf8e2ebc7860fe627e3c18b681fd66">cursor_inherit</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa9b2cb8d0ae6d66f693186cd082cc5862">cursor_info</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa4fc57f3e02fe70b72210bd002c1ed655">cursor_cycle</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4faa8e39bd584718800dfd1999589006618">cursor_up_down</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa124c8ec5e10ba2f824b494360f1d83ee">cursor_crosshair</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cursor style.  <a href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#08c33fedf6d7dd59f019e370448b049da824356f99a3b79962879c24a08afcc6">maxsensitive</a> =  1000
 }</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#0832ea692029bedbf38b0491aefa2e48">initialize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize.  <a href="#0832ea692029bedbf38b0491aefa2e48"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#cccd76c85de8bcd965ab9cd0618841d6">shutdown</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shut down.  <a href="#cccd76c85de8bcd965ab9cd0618841d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#22a310af79d9cfd3ef485e32a455e278">begin_geometry</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset per-geometry attributes.  <a href="#22a310af79d9cfd3ef485e32a455e278"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#3ebe97ed54e377a43dc22c80166df12f">end_geometry</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset attributes changed during geometry insertion.  <a href="#3ebe97ed54e377a43dc22c80166df12f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#729f1e076222ceae66339b2618d580db">step</a> (float, float, float)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate the user view.  <a href="#729f1e076222ceae66339b2618d580db"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#b0fd4062e8b8841e42ab19cea07bd297">zoom</a> (float)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Zoom.  <a href="#b0fd4062e8b8841e42ab19cea07bd297"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f947e4d465dd731b4208909922e46cac">rotate</a> (const <a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a> &amp;rot)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate the user view.  <a href="#f947e4d465dd731b4208909922e46cac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#4d5a273e64cf20d838d62eb9001ba207">handleKey</a> (int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle keypresses.  <a href="#4d5a273e64cf20d838d62eb9001ba207"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ad37e2e1c9cfe9e1b0536daaa259e0da">handleButton</a> (<a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1event__info.html">event_info</a> *e)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle mouse button up/down.  <a href="#ad37e2e1c9cfe9e1b0536daaa259e0da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a51aad92af8a7b41c832a038a31676e1">handleMouseDrag</a> (int, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle mouse dragging.  <a href="#a51aad92af8a7b41c832a038a31676e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#01975ed2bb5ab9b1a7e060a992fbf4b7">checkSensitive</a> (int x, int y, <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e">event_type</a> event)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#3873bfd0b28a01d4d4faed151145bda9">post_redraw</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to indicate to the windowing system that a redraw is necessary.  <a href="#3873bfd0b28a01d4d4faed151145bda9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#875ff451b7e721094fa44e4dd9d50b9e">set_cursor</a> (<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">cursor_style</a> c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to set the cursor style.  <a href="#875ff451b7e721094fa44e4dd9d50b9e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a31a6d8d52fd04a96b789872803053b4">swap_buffers</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to indicate to the windowing system that the front and back buffers should be swapped.  <a href="#a31a6d8d52fd04a96b789872803053b4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#227030132a24e50150632e8017b67705">set_timer</a> (double interval)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a delay.  <a href="#227030132a24e50150632e8017b67705"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1gl_1_1viewer_1_1modelview__matrix__stack.html">modelview_matrix_stack</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#32a4b6857c1bc4adcfd4679afd03dda7">modelview_matrix_stack_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modelview matrix stack.  <a href="#32a4b6857c1bc4adcfd4679afd03dda7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e0f26c1badc0cce83a0c3ae77a9ae899">gl_initialized</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether OpenGL has been initialized for rendering.  <a href="#e0f26c1badc0cce83a0c3ae77a9ae899"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f56f6ef111656413919720da470f11b2">blend</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether alpha blending is enabled.  <a href="#f56f6ef111656413919720da470f11b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#11988e802f3b6487ad18b9520a883444">lit</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether lighting is enabled.  <a href="#11988e802f3b6487ad18b9520a883444"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e43a5183a8f45e06b7453dd91d3dd7b7">texture</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether texture mapping is enabled.  <a href="#e43a5183a8f45e06b7453dd91d3dd7b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#d8ff668628c3d0a6e72326fa612067f0">wireframe</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether wireframe mode is enabled.  <a href="#d8ff668628c3d0a6e72326fa612067f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#b8593cea25dcbcb28b5b82444cc447d3">win_width</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Window width.  <a href="#b8593cea25dcbcb28b5b82444cc447d3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c7949f97d0f96c62d597da4f7af13092">win_height</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Window height.  <a href="#c7949f97d0f96c62d597da4f7af13092"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1color.html">color</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c55376cb13651a0e14b386d692cee00a">background</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Background <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>.  <a href="#c55376cb13651a0e14b386d692cee00a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e21e4bed24a7c93715097573909a42a1">objects</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of objects.  <a href="#e21e4bed24a7c93715097573909a42a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ea1b38e5941585d1e7171bcd345984f3">nested_objects</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of nested objects.  <a href="#ea1b38e5941585d1e7171bcd345984f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">GLUtesselator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c66555804f6788d5e77ecbaac02d44dd">tesselator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GLU tesselation object.  <a href="#c66555804f6788d5e77ecbaac02d44dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ba1fc51faae8d231f56e21bba97e5931">sensitive</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count of sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>.  <a href="#ba1fc51faae8d231f56e21bba97e5931"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#13da592668b40ac46540558e2daa4b76">active_sensitive</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count of active sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>.  <a href="#13da592668b40ac46540558e2daa4b76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6e807d7717a030364275b870eb4b443a">over_sensitive</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count of sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a> the mouse is over.  <a href="#6e807d7717a030364275b870eb4b443a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1node.html">node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#d6c600fd76e44eab11d250856287f44b">sensitive_object</a> [maxsensitive]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>.  <a href="#d6c600fd76e44eab11d250856287f44b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#de86e2cf8164e062cbe6af899db51657">select_mode</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether the renderer is in select mode.  <a href="#de86e2cf8164e062cbe6af899db51657"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a6d71d949b0bccae8fce9120e43dd051">select_z</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Window z-coordinate of last selection.  <a href="#a6d71d949b0bccae8fce9120e43dd051"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1light__info.html">light_info</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#28f52cf8c5c2bd2c861d607108e1681e">light_info_</a> [max_lights]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1light__info.html" title="Light information.">light_info</a> for the lights in the <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>.  <a href="#28f52cf8c5c2bd2c861d607108e1681e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#183d7b96fd0645ccd9c311011d26ab21">beginx</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse drag start x-coordinate.  <a href="#183d7b96fd0645ccd9c311011d26ab21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#77343feede3308951cb68d13b80dc2af">beginy</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse drag start y-coordinate.  <a href="#77343feede3308951cb68d13b80dc2af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e5311c6a31ad2a3097c16dcba0cb6109">rotating</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> is in the process of rotating.  <a href="#e5311c6a31ad2a3097c16dcba0cb6109"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f7d4d9bb655a09a6a686d9041cff2276">scaling</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> is in the process of scaling.  <a href="#f7d4d9bb655a09a6a686d9041cff2276"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6b328876ba9fd88059cdf092af4b5350">translating</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> is in the process of translating.  <a href="#6b328876ba9fd88059cdf092af4b5350"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e9279998adac10ec55843c27d7b626b6">draw_bounding_spheres</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether to draw bounding spheres.  <a href="#e9279998adac10ec55843c27d7b626b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#0a934e84dda6fff1bf898ffc52fb6f36">render_time</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updated at the end of redraw with the time redraw took to execute.  <a href="#0a934e84dda6fff1bf898ffc52fb6f36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#40ddd6e89d063c305976a1528ace598d">render_time1</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rendering time for the previous cycle.  <a href="#40ddd6e89d063c305976a1528ace598d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ff81ad1d29e5224349063026056c32f"></a><!-- doxytag: member="openvrml::gl::viewer::list_map_t" ref="1ff81ad1d29e5224349063026056c32f" args="" -->
typedef std::map&lt; const <a class="el" href="classopenvrml_1_1node.html">node</a> <br class="typebreak">
*, GLuint &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>list_map_t</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b479def3d99b26184ecc688de4fea9a8"></a><!-- doxytag: member="openvrml::gl::viewer::texture_map_t" ref="b479def3d99b26184ecc688de4fea9a8" args="" -->
typedef std::map&lt; const <br class="typebreak">
<a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> *, GLuint &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>texture_map_t</b></td></tr>

<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">rendering_mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#9a1d75c0868a455df65518396c57aa40">do_mode</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rendering mode.  <a href="#9a1d75c0868a455df65518396c57aa40"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#aa2a9d12e9d01c594a2b3db31a7ec9e0">do_frame_rate</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frame rate.  <a href="#aa2a9d12e9d01c594a2b3db31a7ec9e0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#10224ca01af339a54ee6ff46dce30a82">do_reset_user_navigation</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the user view to the position and orientation of the currently bound Viewpoint <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>.  <a href="#10224ca01af339a54ee6ff46dce30a82"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f497f79d610cd923297e293b5de275b9">do_begin_object</a> (const char *id, bool retain)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin a display list.  <a href="#f497f79d610cd923297e293b5de275b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f9bf9557e9e9c9664ef6f83a816dedf9">do_end_object</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of group <a class="el" href="classopenvrml_1_1scope.html" title="The scope class keeps track of defined nodes and prototypes.">scope</a>.  <a href="#f9bf9557e9e9c9664ef6f83a816dedf9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ff8e8b4855b8de83e021407ba45dc911">do_insert_background</a> (const <a class="el" href="classopenvrml_1_1background__node.html">background_node</a> &amp;n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a background into a display list.  <a href="#ff8e8b4855b8de83e021407ba45dc911"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#9bb830880c7139f0c6d5935ca87b4149">do_insert_box</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a box into a display list.  <a href="#9bb830880c7139f0c6d5935ca87b4149"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#950ffbc9abd48a89f8a97369de50fd31">do_insert_cone</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, float height, float radius, bool bottom, bool side)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a cone into a display list.  <a href="#950ffbc9abd48a89f8a97369de50fd31"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6033369b2c932eb0d51180a38eb14598">do_insert_cylinder</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, float height, float radius, bool bottom, bool side, bool top)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a cylinder into a display list.  <a href="#6033369b2c932eb0d51180a38eb14598"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6210d20064add5b43be315e25e5ce237">do_insert_elevation_grid</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, unsigned int mask, const std::vector&lt; float &gt; &amp;height, <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> xDimension, <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> zDimension, float xSpacing, float zSpacing, const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;normal, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;texCoord)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an elevation grid into a display list.  <a href="#6210d20064add5b43be315e25e5ce237"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#01a6b0c650b5107a6bb9c97a7f3695e4">do_insert_extrusion</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, unsigned int mask, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;spine, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;crossSection, const std::vector&lt; <a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a> &gt; &amp;orientation, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;scale)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an extrusion into a display list.  <a href="#01a6b0c650b5107a6bb9c97a7f3695e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a58e097654df88502a70d05168141c1e">do_insert_line_set</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;coord, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;coordIndex, bool colorPerVertex, const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;colorIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a line set into a display list.  <a href="#a58e097654df88502a70d05168141c1e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c20ce0e7382f573ff036638893c47a6b">do_insert_point_set</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;coord, const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a point set into a display list.  <a href="#c20ce0e7382f573ff036638893c47a6b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#77218715c20e6e46a65942a4c79c362b">do_insert_shell</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, unsigned int mask, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;coord, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;coordIndex, const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;colorIndex, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;normal, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;normalIndex, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;texCoord, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;texCoordIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a shell into a display list.  <a href="#77218715c20e6e46a65942a4c79c362b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#19409406e7de6edf039dc9923f95035b">do_insert_sphere</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, float radius)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a sphere into a display list.  <a href="#19409406e7de6edf039dc9923f95035b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#32346b49860369f409c65d86c3581ef2">do_insert_dir_light</a> (float ambientIntensity, float intensity, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;direction)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a directional light into a display list.  <a href="#32346b49860369f409c65d86c3581ef2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c7642f3bcae02f65de1422f4fa754171">do_insert_point_light</a> (float ambientIntensity, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;attenuation, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, float intensity, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;location, float radius)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a point light into a display list.  <a href="#c7642f3bcae02f65de1422f4fa754171"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#520d7240c31a36a0c9afaf5ac17277b7">do_insert_spot_light</a> (float ambientIntensity, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;attenuation, float beamWidth, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, float cutOffAngle, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;direction, float intensity, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;location, float radius)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a point light into a display list.  <a href="#520d7240c31a36a0c9afaf5ac17277b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a09d089a5a6ff8f81305232c132c6389">do_remove_object</a> (const <a class="el" href="classopenvrml_1_1node.html">node</a> &amp;ref)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the display list.  <a href="#a09d089a5a6ff8f81305232c132c6389"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#683d83bea7562b1f8223eb859a13fc85">do_enable_lighting</a> (bool)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable lighting.  <a href="#683d83bea7562b1f8223eb859a13fc85"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#935e6afa3241efed179ef69058e380ee">do_set_color</a> (const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;rgb, float a=1.0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>.  <a href="#935e6afa3241efed179ef69058e380ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#fefb1e7bef14006cad6862c51db3144b">do_set_fog</a> (const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, float visibilityRange, const char *type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the fog.  <a href="#fefb1e7bef14006cad6862c51db3144b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#467e3a74de90e377c438630e2f2a4105">do_set_material</a> (float ambientIntensity, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;diffuseColor, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;emissiveColor, float shininess, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;specularColor, float transparency)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the material.  <a href="#467e3a74de90e377c438630e2f2a4105"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#de560e5900531fcdb7fdcda6c27b2eaa">do_set_material_mode</a> (size_t tex_components, bool geometry_color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the material mode.  <a href="#de560e5900531fcdb7fdcda6c27b2eaa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#8ff2e7a65544bd2cf5b22ddf1a8ed8ea">do_set_sensitive</a> (<a class="el" href="classopenvrml_1_1node.html">node</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate that a <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> should be sensitive to the pointing device.  <a href="#8ff2e7a65544bd2cf5b22ddf1a8ed8ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#4d8e1e1da8416f98a307635a4b1b2685">do_insert_texture</a> (const <a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> &amp;n, bool retainHint=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a texture object.  <a href="#4d8e1e1da8416f98a307635a4b1b2685"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c7a256c0b1b9d2edc48ad3927f0f6152">do_remove_texture_object</a> (const <a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> &amp;n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a texture from the display list.  <a href="#c7a256c0b1b9d2edc48ad3927f0f6152"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#0f05b43d8c38fd4a30d1c1d07882dfd7">do_set_texture_transform</a> (const <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &amp;center, float <a class="el" href="structopenvrml_1_1rotation.html">rotation</a>, const <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &amp;scale, const <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &amp;translation)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the texture transform.  <a href="#0f05b43d8c38fd4a30d1c1d07882dfd7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f55f8b3710c42d4486b7491df24fcf4"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_frustum" ref="5f55f8b3710c42d4486b7491df24fcf4" args="(float field_of_view, float avatar_size, float visibility_limit)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>do_set_frustum</b> (float field_of_view, float avatar_size, float visibility_limit)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#8886e7a51f5979d9d0e9c65fdcddb2cb">do_set_viewpoint</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;position, const <a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a> &amp;orientation, float avatarSize, float visibilityLimit)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the viewpoint.  <a href="#8886e7a51f5979d9d0e9c65fdcddb2cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#dd562a20a180861615a3700bdd02b76d">do_transform</a> (const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;mat)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply the current modelview matrix by <code>mat</code>.  <a href="#dd562a20a180861615a3700bdd02b76d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#43c53870fde7fd107c6e73443f6fc94a">do_transform_points</a> (size_t nPoints, <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> *point) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transform <code>points</code> by the current modelview matrix.  <a href="#43c53870fde7fd107c6e73443f6fc94a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eae63a7e0b1b3856f16e8fe6084583d6">do_draw_bounding_sphere</a> (const <a class="el" href="classopenvrml_1_1bounding__sphere.html">bounding_sphere</a> &amp;bs, <a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">bounding_volume::intersection</a> intersection)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a bounding sphere.  <a href="#eae63a7e0b1b3856f16e8fe6084583d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#80c51dbc6bf0acf0a172d1a271a45046">do_post_redraw</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to indicate to the windowing system that a redraw is necessary.  <a href="#80c51dbc6bf0acf0a172d1a271a45046"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#bd34fdf52669d79b3997bc8a6a7df84d">do_set_cursor</a> (<a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">cursor_style</a> c)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to set the cursor style.  <a href="#bd34fdf52669d79b3997bc8a6a7df84d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#122f92df64f10b182eacba4051f72ec7">do_swap_buffers</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to indicate to the windowing system that the front and back buffers should be swapped.  <a href="#122f92df64f10b182eacba4051f72ec7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#d98051416adf549522830adee02eea8b">do_set_timer</a> (double interval)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a delay.  <a href="#d98051416adf549522830adee02eea8b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c874c096b4f1508d5fa732990a1fcf48"></a><!-- doxytag: member="openvrml::gl::viewer::list_map_" ref="c874c096b4f1508d5fa732990a1fcf48" args="" -->
list_map_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>list_map_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6879869c8d39eeb35523ef82f0a875f2"></a><!-- doxytag: member="openvrml::gl::viewer::texture_map_" ref="6879869c8d39eeb35523ef82f0a875f2" args="" -->
texture_map_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>texture_map_</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract class for display of VRML models using OpenGL/Mesa. 
<p>
A window-system specific subclass needs to redefine the pure virtual methods. <hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="87f674105c2318fd7740110c157062bb"></a><!-- doxytag: member="openvrml::gl::viewer::@1" ref="87f674105c2318fd7740110c157062bb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="87f674105c2318fd7740110c157062bbd2e88c69f6679eba43d5a593df14ec46"></a><!-- doxytag: member="max_lights" ref="87f674105c2318fd7740110c157062bbd2e88c69f6679eba43d5a593df14ec46" args="" -->max_lights</em>&nbsp;</td><td>
Maximum number of lights in a <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>. </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="6512fed5f03d9924908bf9478e3d9ab1"></a><!-- doxytag: member="openvrml::gl::viewer::light_type" ref="6512fed5f03d9924908bf9478e3d9ab1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6512fed5f03d9924908bf9478e3d9ab1">openvrml::gl::viewer::light_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Light type. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="6512fed5f03d9924908bf9478e3d9ab1a0eb480ba1b4fbc8bf8e6feb15bd02fb"></a><!-- doxytag: member="light_unused" ref="6512fed5f03d9924908bf9478e3d9ab1a0eb480ba1b4fbc8bf8e6feb15bd02fb" args="" -->light_unused</em>&nbsp;</td><td>
Unused. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="6512fed5f03d9924908bf9478e3d9ab1183cabd53c1717e3123932f1eec879df"></a><!-- doxytag: member="light_directional" ref="6512fed5f03d9924908bf9478e3d9ab1183cabd53c1717e3123932f1eec879df" args="" -->light_directional</em>&nbsp;</td><td>
Directional. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="6512fed5f03d9924908bf9478e3d9ab172c2d061be1909e205c0dcb4465a2761"></a><!-- doxytag: member="light_positional" ref="6512fed5f03d9924908bf9478e3d9ab172c2d061be1909e205c0dcb4465a2761" args="" -->light_positional</em>&nbsp;</td><td>
Positional. </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="c53616a282fc621a75fe9dffa91db80e"></a><!-- doxytag: member="openvrml::gl::viewer::event_type" ref="c53616a282fc621a75fe9dffa91db80e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e">openvrml::gl::viewer::event_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Event type. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="c53616a282fc621a75fe9dffa91db80eda76fac3603d2b78021cc6253bf2a5ad"></a><!-- doxytag: member="event_key_down" ref="c53616a282fc621a75fe9dffa91db80eda76fac3603d2b78021cc6253bf2a5ad" args="" -->event_key_down</em>&nbsp;</td><td>
Key down. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="c53616a282fc621a75fe9dffa91db80e3c4d4e624f1cb42979e9cf7714dc97e9"></a><!-- doxytag: member="event_mouse_move" ref="c53616a282fc621a75fe9dffa91db80e3c4d4e624f1cb42979e9cf7714dc97e9" args="" -->event_mouse_move</em>&nbsp;</td><td>
Mouse movement. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="c53616a282fc621a75fe9dffa91db80e33fdc27ba5ad14a40fe3ad077443fd8a"></a><!-- doxytag: member="event_mouse_click" ref="c53616a282fc621a75fe9dffa91db80e33fdc27ba5ad14a40fe3ad077443fd8a" args="" -->event_mouse_click</em>&nbsp;</td><td>
Mouse button click. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="c53616a282fc621a75fe9dffa91db80e5aef7f5292f43b06b416501965542e49"></a><!-- doxytag: member="event_mouse_drag" ref="c53616a282fc621a75fe9dffa91db80e5aef7f5292f43b06b416501965542e49" args="" -->event_mouse_drag</em>&nbsp;</td><td>
Mouse drag. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="c53616a282fc621a75fe9dffa91db80ed43871565c57988737648ed703b57630"></a><!-- doxytag: member="event_mouse_release" ref="c53616a282fc621a75fe9dffa91db80ed43871565c57988737648ed703b57630" args="" -->event_mouse_release</em>&nbsp;</td><td>
Mouse button release. </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="eefbfe0469554760fa19bf065166c4fa"></a><!-- doxytag: member="openvrml::gl::viewer::cursor_style" ref="eefbfe0469554760fa19bf065166c4fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">openvrml::gl::viewer::cursor_style</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cursor style. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="eefbfe0469554760fa19bf065166c4fabcdf8e2ebc7860fe627e3c18b681fd66"></a><!-- doxytag: member="cursor_inherit" ref="eefbfe0469554760fa19bf065166c4fabcdf8e2ebc7860fe627e3c18b681fd66" args="" -->cursor_inherit</em>&nbsp;</td><td>
Inherit the parent's cursor style. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="eefbfe0469554760fa19bf065166c4fa9b2cb8d0ae6d66f693186cd082cc5862"></a><!-- doxytag: member="cursor_info" ref="eefbfe0469554760fa19bf065166c4fa9b2cb8d0ae6d66f693186cd082cc5862" args="" -->cursor_info</em>&nbsp;</td><td>
Pointing hand. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="eefbfe0469554760fa19bf065166c4fa4fc57f3e02fe70b72210bd002c1ed655"></a><!-- doxytag: member="cursor_cycle" ref="eefbfe0469554760fa19bf065166c4fa4fc57f3e02fe70b72210bd002c1ed655" args="" -->cursor_cycle</em>&nbsp;</td><td>
Arrows rotating in a circle. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="eefbfe0469554760fa19bf065166c4faa8e39bd584718800dfd1999589006618"></a><!-- doxytag: member="cursor_up_down" ref="eefbfe0469554760fa19bf065166c4faa8e39bd584718800dfd1999589006618" args="" -->cursor_up_down</em>&nbsp;</td><td>
Bidirectional pointing up and down. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="eefbfe0469554760fa19bf065166c4fa124c8ec5e10ba2f824b494360f1d83ee"></a><!-- doxytag: member="cursor_crosshair" ref="eefbfe0469554760fa19bf065166c4fa124c8ec5e10ba2f824b494360f1d83ee" args="" -->cursor_crosshair</em>&nbsp;</td><td>
Crosshair. </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="08c33fedf6d7dd59f019e370448b049d"></a><!-- doxytag: member="openvrml::gl::viewer::@3" ref="08c33fedf6d7dd59f019e370448b049d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum<code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="08c33fedf6d7dd59f019e370448b049da824356f99a3b79962879c24a08afcc6"></a><!-- doxytag: member="maxsensitive" ref="08c33fedf6d7dd59f019e370448b049da824356f99a3b79962879c24a08afcc6" args="" -->maxsensitive</em>&nbsp;</td><td>
Maximum number of sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ba4c3f7ed7f5d3fe3741796a3693e180"></a><!-- doxytag: member="openvrml::gl::viewer::viewer" ref="ba4c3f7ed7f5d3fe3741796a3693e180" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">openvrml::gl::viewer::viewer           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct a <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> for the specified <a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a>. 
<p>

<p>Reimplemented from <a class="el" href="classopenvrml_1_1viewer.html#4ed7c98f5d6f3288d1e03546df3b07d9">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="c49975541f414afd6f0e10e57043c61c"></a><!-- doxytag: member="openvrml::gl::viewer::~viewer" ref="c49975541f414afd6f0e10e57043c61c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">openvrml::gl::viewer::~viewer           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy. 
<p>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#feeb1472d09460f9761e9597f7f9cf8b">openvrml::viewer</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0832ea692029bedbf38b0491aefa2e48"></a><!-- doxytag: member="openvrml::gl::viewer::initialize" ref="0832ea692029bedbf38b0491aefa2e48" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::initialize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize. 
<p>

</div>
</div><p>
<a class="anchor" name="cccd76c85de8bcd965ab9cd0618841d6"></a><!-- doxytag: member="openvrml::gl::viewer::shutdown" ref="cccd76c85de8bcd965ab9cd0618841d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::shutdown           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Shut down. 
<p>

</div>
</div><p>
<a class="anchor" name="22a310af79d9cfd3ef485e32a455e278"></a><!-- doxytag: member="openvrml::gl::viewer::begin_geometry" ref="22a310af79d9cfd3ef485e32a455e278" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::begin_geometry           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset per-geometry attributes. 
<p>
Called after the appearance/material has been set. 
</div>
</div><p>
<a class="anchor" name="3ebe97ed54e377a43dc22c80166df12f"></a><!-- doxytag: member="openvrml::gl::viewer::end_geometry" ref="3ebe97ed54e377a43dc22c80166df12f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::end_geometry           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset attributes changed during geometry insertion. 
<p>

</div>
</div><p>
<a class="anchor" name="729f1e076222ceae66339b2618d580db"></a><!-- doxytag: member="openvrml::gl::viewer::step" ref="729f1e076222ceae66339b2618d580db" args="(float, float, float)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::step           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Translate the user view. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>x</em>&nbsp;</td><td>translation vector x component. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>y</em>&nbsp;</td><td>translation vector y component. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>z</em>&nbsp;</td><td>translation vector z component. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b0fd4062e8b8841e42ab19cea07bd297"></a><!-- doxytag: member="openvrml::gl::viewer::zoom" ref="b0fd4062e8b8841e42ab19cea07bd297" args="(float)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::zoom           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Zoom. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>z</em>&nbsp;</td><td>amount to zoom. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f947e4d465dd731b4208909922e46cac"></a><!-- doxytag: member="openvrml::gl::viewer::rotate" ref="f947e4d465dd731b4208909922e46cac" args="(const openvrml::rotation &amp;rot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::rotate           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rotate the user view. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rot</em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a>. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4d5a273e64cf20d838d62eb9001ba207"></a><!-- doxytag: member="openvrml::gl::viewer::handleKey" ref="4d5a273e64cf20d838d62eb9001ba207" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::handleKey           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle keypresses. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>key</em>&nbsp;</td><td>key identifier. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ad37e2e1c9cfe9e1b0536daaa259e0da"></a><!-- doxytag: member="openvrml::gl::viewer::handleButton" ref="ad37e2e1c9cfe9e1b0536daaa259e0da" args="(event_info *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::handleButton           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1event__info.html">event_info</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle mouse button up/down. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>event data. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a51aad92af8a7b41c832a038a31676e1"></a><!-- doxytag: member="openvrml::gl::viewer::handleMouseDrag" ref="a51aad92af8a7b41c832a038a31676e1" args="(int, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::handleMouseDrag           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle mouse dragging. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>x</em>&nbsp;</td><td>pointer x-coordinate. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>y</em>&nbsp;</td><td>pointer y-coordinate. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="01975ed2bb5ab9b1a7e060a992fbf4b7"></a><!-- doxytag: member="openvrml::gl::viewer::checkSensitive" ref="01975ed2bb5ab9b1a7e060a992fbf4b7" args="(int x, int y, event_type event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool openvrml::gl::viewer::checkSensitive           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c53616a282fc621a75fe9dffa91db80e">event_type</a>&nbsp;</td>
          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check for pickable objects. 
</div>
</div><p>
<a class="anchor" name="3873bfd0b28a01d4d4faed151145bda9"></a><!-- doxytag: member="openvrml::gl::viewer::post_redraw" ref="3873bfd0b28a01d4d4faed151145bda9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::post_redraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called to indicate to the windowing system that a redraw is necessary. 
<p>

</div>
</div><p>
<a class="anchor" name="875ff451b7e721094fa44e4dd9d50b9e"></a><!-- doxytag: member="openvrml::gl::viewer::set_cursor" ref="875ff451b7e721094fa44e4dd9d50b9e" args="(cursor_style c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::set_cursor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">cursor_style</a>&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called to set the cursor style. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>c</em>&nbsp;</td><td>cursor style identifier. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a31a6d8d52fd04a96b789872803053b4"></a><!-- doxytag: member="openvrml::gl::viewer::swap_buffers" ref="a31a6d8d52fd04a96b789872803053b4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::swap_buffers           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called to indicate to the windowing system that the front and back buffers should be swapped. 
<p>

</div>
</div><p>
<a class="anchor" name="227030132a24e50150632e8017b67705"></a><!-- doxytag: member="openvrml::gl::viewer::set_timer" ref="227030132a24e50150632e8017b67705" args="(double interval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::set_timer           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>interval</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a delay. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>interval</em>&nbsp;</td><td>milliseconds to delay. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e4ebe83282cf3b7d87d3e5af09ea3c20"></a><!-- doxytag: member="openvrml::gl::viewer::update" ref="e4ebe83282cf3b7d87d3e5af09ea3c20" args="(double time=0.0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::update           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>time</em> = <code>0.0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>. 
<p>
update is called from a timer callback and from checkSensitive.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>time</em>&nbsp;</td><td>current time. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b0d3aab1ec135fc3ab6fa92fe44e1f2b"></a><!-- doxytag: member="openvrml::gl::viewer::redraw" ref="b0d3aab1ec135fc3ab6fa92fe44e1f2b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::redraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Redraw the <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="74f30979dbcd173e2a41c06a2397ed54"></a><!-- doxytag: member="openvrml::gl::viewer::resize" ref="74f30979dbcd173e2a41c06a2397ed54" args="(size_t width, size_t height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::resize           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Resize the viewport. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>width</em>&nbsp;</td><td>new width. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>height</em>&nbsp;</td><td>new height. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="25893527c3dfdd23d6ec417ad66dad2f"></a><!-- doxytag: member="openvrml::gl::viewer::input" ref="25893527c3dfdd23d6ec417ad66dad2f" args="(event_info *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::input           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1event__info.html">event_info</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle an event generated from user input. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>event data. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="9a1d75c0868a455df65518396c57aa40"></a><!-- doxytag: member="openvrml::gl::viewer::do_mode" ref="9a1d75c0868a455df65518396c57aa40" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">openvrml::gl::viewer::rendering_mode</a> openvrml::gl::viewer::do_mode           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rendering mode. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the rendering_mode. </dd></dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#01b769bb6d27df9d426b05546e8f1155">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="aa2a9d12e9d01c594a2b3db31a7ec9e0"></a><!-- doxytag: member="openvrml::gl::viewer::do_frame_rate" ref="aa2a9d12e9d01c594a2b3db31a7ec9e0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double openvrml::gl::viewer::do_frame_rate           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frame rate. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the frame rate. </dd></dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#d3a018d5c4997f383fb5fde58ff68b1e">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="10224ca01af339a54ee6ff46dce30a82"></a><!-- doxytag: member="openvrml::gl::viewer::do_reset_user_navigation" ref="10224ca01af339a54ee6ff46dce30a82" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_reset_user_navigation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset the user view to the position and orientation of the currently bound Viewpoint <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>. 
<p>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#a16031c8331a31c1b1ebf19d33f0c4ca">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="f497f79d610cd923297e293b5de275b9"></a><!-- doxytag: member="openvrml::gl::viewer::do_begin_object" ref="f497f79d610cd923297e293b5de275b9" args="(const char *id, bool retain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_begin_object           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>retain</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Begin a display list. 
<p>
<code><a class="el" href="classopenvrml_1_1viewer.html#835d9133d2bbcb88decd3d4afbefd399" title="Begin a display list.">begin_object</a></code> and <code><a class="el" href="classopenvrml_1_1viewer.html#99d2f27056c95a587c529819314f400a" title="End a display list.">end_object</a></code> should correspond to <code><a class="el" href="classopenvrml_1_1grouping__node.html" title="Abstract base class for grouping nodes.">grouping_node</a>s</code>. Group-level scoping for directional lights, anchors, sensors are handled here. Display lists can optionally be created (but the retain flag is just a hint, not guaranteed). Retained objects can be referred to later to avoid duplicating geometry. OpenGL doesn't allow nested objects. The top-down approach of putting entire groups in display lists is faster for static scenes but uses more memory and means that if anything is changed, the whole object must be tossed.<p>
The bottom-up model wraps each piece of geometry in a dlist but requires traversal of the entire <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a> graph to reference each dlist. The decision about what groups to stuff in an object is punted to the object itself, as it can decide whether it is mutable.<p>
The OpenGL <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> never puts objects in display lists, so the retain hint is ignored.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>id</em>&nbsp;</td><td>not used. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>retain</em>&nbsp;</td><td>not used. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#32d625408e968f771c3dea39d5b1331e">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="f9bf9557e9e9c9664ef6f83a816dedf9"></a><!-- doxytag: member="openvrml::gl::viewer::do_end_object" ref="f9bf9557e9e9c9664ef6f83a816dedf9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_end_object           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End of group <a class="el" href="classopenvrml_1_1scope.html" title="The scope class keeps track of defined nodes and prototypes.">scope</a>. 
<p>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#22baab42fd407095a203d11fa6fe921f">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="ff8e8b4855b8de83e021407ba45dc911"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_background" ref="ff8e8b4855b8de83e021407ba45dc911" args="(const background_node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_background           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1background__node.html">background_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a background into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>a <code><a class="el" href="classopenvrml_1_1background__node.html" title="Abstract base class for background nodes.">background_node</a></code>. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#4fa42a614f44e41f7666cdf9d7d434be">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="9bb830880c7139f0c6d5935ca87b4149"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_box" ref="9bb830880c7139f0c6d5935ca87b4149" args="(const geometry_node &amp;n, const vec3f &amp;size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_box           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a box into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the box. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>box dimensions. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#21ae0e0f07251f22b49aa147479e535b">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="950ffbc9abd48a89f8a97369de50fd31"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_cone" ref="950ffbc9abd48a89f8a97369de50fd31" args="(const geometry_node &amp;n, float height, float radius, bool bottom, bool side)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_cone           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bottom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>side</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a cone into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the cone. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>height</em>&nbsp;</td><td>height. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>radius</em>&nbsp;</td><td>radius at base. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bottom</em>&nbsp;</td><td>show the bottom. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>side</em>&nbsp;</td><td>show the side. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#3548e7e6a67d3ce054ff4f9684bb3bb2">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="6033369b2c932eb0d51180a38eb14598"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_cylinder" ref="6033369b2c932eb0d51180a38eb14598" args="(const geometry_node &amp;n, float height, float radius, bool bottom, bool side, bool top)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_cylinder           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bottom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>top</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a cylinder into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the cylinder. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>height</em>&nbsp;</td><td>height. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>radius</em>&nbsp;</td><td>radius. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bottom</em>&nbsp;</td><td>show the bottom. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>side</em>&nbsp;</td><td>show the side. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>top</em>&nbsp;</td><td>show the top. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#81b63362a61c350993305968f9c1520e">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="6210d20064add5b43be315e25e5ce237"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_elevation_grid" ref="6210d20064add5b43be315e25e5ce237" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; float &gt; &amp;height, int32 xDimension, int32 zDimension, float xSpacing, float zSpacing, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; vec3f &gt; &amp;normal, const std::vector&lt; vec2f &gt; &amp;texCoord)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_elevation_grid           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a>&nbsp;</td>
          <td class="paramname"> <em>xDimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a>&nbsp;</td>
          <td class="paramname"> <em>zDimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>xSpacing</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>zSpacing</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>normal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>texCoord</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert an elevation grid into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the elevation grid. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mask</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>height</em>&nbsp;</td><td>height field. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>xDimension</em>&nbsp;</td><td>vertices in the x direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>zDimension</em>&nbsp;</td><td>vertices in the z direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>xSpacing</em>&nbsp;</td><td>distance between vertices in the x direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>zSpacing</em>&nbsp;</td><td>distance between vertices in the z direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td>colors. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>normal</em>&nbsp;</td><td>normals. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>texCoord</em>&nbsp;</td><td>texture coordinates. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#9e0cd0b8b414bb5a657ebce7f25b4544">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="01a6b0c650b5107a6bb9c97a7f3695e4"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_extrusion" ref="01a6b0c650b5107a6bb9c97a7f3695e4" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; vec3f &gt; &amp;spine, const std::vector&lt; vec2f &gt; &amp;crossSection, const std::vector&lt; openvrml::rotation &gt; &amp;orientation, const std::vector&lt; vec2f &gt; &amp;scale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_extrusion           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>spine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>crossSection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>orientation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert an extrusion into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the extrusion. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mask</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>spine</em>&nbsp;</td><td>spine points. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>crossSection</em>&nbsp;</td><td>cross-sections. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>orientation</em>&nbsp;</td><td>cross-section orientations. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scale</em>&nbsp;</td><td>cross-section scales. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#5daab64c16f8882fd9796b72b44384ed">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="a58e097654df88502a70d05168141c1e"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_line_set" ref="a58e097654df88502a70d05168141c1e" args="(const geometry_node &amp;n, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; int32 &gt; &amp;coordIndex, bool colorPerVertex, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; int32 &gt; &amp;colorIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_line_set           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>coordIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>colorPerVertex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>colorIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a line set into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the line set. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>coord</em>&nbsp;</td><td>coordinates. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>coordIndex</em>&nbsp;</td><td>coordinate indices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>colorPerVertex</em>&nbsp;</td><td>whether colors are applied per-vertex or per- face. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td>colors. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>colorIndex</em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a> indices. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#dd492af3e3f3095900671a1233674cdf">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="c20ce0e7382f573ff036638893c47a6b"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_point_set" ref="c20ce0e7382f573ff036638893c47a6b" args="(const geometry_node &amp;n, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; color &gt; &amp;color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_point_set           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a point set into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the point set. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>coord</em>&nbsp;</td><td>points. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td>colors. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#3135d51c365887161e3c634188ed6ed3">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="77218715c20e6e46a65942a4c79c362b"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_shell" ref="77218715c20e6e46a65942a4c79c362b" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; int32 &gt; &amp;coordIndex, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; int32 &gt; &amp;colorIndex, const std::vector&lt; vec3f &gt; &amp;normal, const std::vector&lt; int32 &gt; &amp;normalIndex, const std::vector&lt; vec2f &gt; &amp;texCoord, const std::vector&lt; int32 &gt; &amp;texCoordIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_shell           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>coord_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1color.html">color</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>color_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>normal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>normal_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>tex_coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>tex_coord_index</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a shell into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the shell. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mask</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>coord</em>&nbsp;</td><td>coordinates. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>coord_index</em>&nbsp;</td><td>coordinate indices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td>colors. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>color_index</em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a> indices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>normal</em>&nbsp;</td><td>normals. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>normal_index</em>&nbsp;</td><td>normal indices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>tex_coord</em>&nbsp;</td><td>texture coordinates. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>tex_coord_index</em>&nbsp;</td><td>texture coordinate indices. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#a021fb0165bfcc0b5082bcec0033504f">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="19409406e7de6edf039dc9923f95035b"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_sphere" ref="19409406e7de6edf039dc9923f95035b" args="(const geometry_node &amp;n, float radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_sphere           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a sphere into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1geometry__node.html" title="Abstract base class for geometry nodes.">geometry_node</a></code> corresponding to the sphere. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>radius</em>&nbsp;</td><td>sphere radius. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#17030b0bb6c54395d632d6a1357d2ce4">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="32346b49860369f409c65d86c3581ef2"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_dir_light" ref="32346b49860369f409c65d86c3581ef2" args="(float ambientIntensity, float intensity, const color &amp;color, const vec3f &amp;direction)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_dir_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambientIntensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>intensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>direction</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a directional light into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ambientIntensity</em>&nbsp;</td><td>ambient intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>intensity</em>&nbsp;</td><td>intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>direction</em>&nbsp;</td><td>direction. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#a280f221d1a2eb4e2519a3e66081e71b">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="c7642f3bcae02f65de1422f4fa754171"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_point_light" ref="c7642f3bcae02f65de1422f4fa754171" args="(float ambientIntensity, const vec3f &amp;attenuation, const color &amp;color, float intensity, const vec3f &amp;location, float radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_point_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambientIntensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attenuation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>intensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a point light into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ambientIntensity</em>&nbsp;</td><td>ambient intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>attenuation</em>&nbsp;</td><td>attenuation. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>intensity</em>&nbsp;</td><td>intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>location</em>&nbsp;</td><td>location. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>radius</em>&nbsp;</td><td>radius.</td></tr>
  </table>
</dl>
<dl compact><dt><b><a class="el" href="todo.html#_todo000014">Todo:</a></b></dt><dd>Only objects within radius should be lit by each PointLight. Test each object drawn against each point light and enable the lights accordingly? Get light and geometry into consistent coordinates first. </dd></dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#d956fd5ee18470f817108320d040005e">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="520d7240c31a36a0c9afaf5ac17277b7"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_spot_light" ref="520d7240c31a36a0c9afaf5ac17277b7" args="(float ambientIntensity, const vec3f &amp;attenuation, float beamWidth, const color &amp;color, float cutOffAngle, const vec3f &amp;direction, float intensity, const vec3f &amp;location, float radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_spot_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambientIntensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attenuation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>beamWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>cutOffAngle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>direction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>intensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a point light into a display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ambientIntensity</em>&nbsp;</td><td>ambient intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>attenuation</em>&nbsp;</td><td>attenuation. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>beamWidth</em>&nbsp;</td><td>beam width. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>cutOffAngle</em>&nbsp;</td><td>cut-off angle. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>direction</em>&nbsp;</td><td>direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>intensity</em>&nbsp;</td><td>intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>location</em>&nbsp;</td><td>location. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>radius</em>&nbsp;</td><td>radius.</td></tr>
  </table>
</dl>
<dl compact><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>Same comments as for PointLight apply here. </dd></dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#0a9a5d098f3f7e4b1f31b8605e9781a6">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="a09d089a5a6ff8f81305232c132c6389"></a><!-- doxytag: member="openvrml::gl::viewer::do_remove_object" ref="a09d089a5a6ff8f81305232c132c6389" args="(const node &amp;ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_remove_object           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1node.html">node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ref</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove an object from the display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ref</em>&nbsp;</td><td>object handle. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#d03dde960e141f13ba68b08779f8d929">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="683d83bea7562b1f8223eb859a13fc85"></a><!-- doxytag: member="openvrml::gl::viewer::do_enable_lighting" ref="683d83bea7562b1f8223eb859a13fc85" args="(bool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_enable_lighting           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enable/disable lighting. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>whether lighting should be enabled. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#013c5d26665f304e77244496655ccef1">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="935e6afa3241efed179ef69058e380ee"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_color" ref="935e6afa3241efed179ef69058e380ee" args="(const color &amp;rgb, float a=1.0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_color           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rgb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>a</em> = <code>1.0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rgb</em>&nbsp;</td><td>red, green, and blue components. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>a</em>&nbsp;</td><td>alpha (transparency) component. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#17372c0d92b755c6bf2b04fff3b7885a">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="fefb1e7bef14006cad6862c51db3144b"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_fog" ref="fefb1e7bef14006cad6862c51db3144b" args="(const color &amp;color, float visibilityRange, const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_fog           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>visibilityRange</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the fog. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a></em>&nbsp;</td><td>fog <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>visibilityRange</em>&nbsp;</td><td>the distance at which objects are fully obscured by fog. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>type</em>&nbsp;</td><td>fog type. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#864becdebe61e285edc89ef7c0222ecd">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="467e3a74de90e377c438630e2f2a4105"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_material" ref="467e3a74de90e377c438630e2f2a4105" args="(float ambientIntensity, const color &amp;diffuseColor, const color &amp;emissiveColor, float shininess, const color &amp;specularColor, float transparency)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_material           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambientIntensity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>diffuseColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>emissiveColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>shininess</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>specularColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>transparency</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the material. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ambientIntensity</em>&nbsp;</td><td>ambient intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>diffuseColor</em>&nbsp;</td><td>diffuse <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>emissiveColor</em>&nbsp;</td><td>emissive <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>shininess</em>&nbsp;</td><td>shininess. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>specularColor</em>&nbsp;</td><td>specular <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>transparency</em>&nbsp;</td><td>transparency. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#b7bdca8ce5222e2737949a7f6d7518b1">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="de560e5900531fcdb7fdcda6c27b2eaa"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_material_mode" ref="de560e5900531fcdb7fdcda6c27b2eaa" args="(size_t tex_components, bool geometry_color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_material_mode           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>tex_components</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>geometry_color</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the material mode. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This hack is necessary because setting the <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a> mode needs to know about the appearance (presence &amp; components of texture) and the geometry (presence of colors). Putting this stuff in either insert_texture or insert_&lt;geometry&gt; causes problems when the texture or geometry <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> is USE'd with a different context.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>tex_components</em>&nbsp;</td><td>texture components. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>geometry_color</em>&nbsp;</td><td>geometry <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#4e3bfa24c849cc8124d28ab1d452c4aa">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="8ff2e7a65544bd2cf5b22ddf1a8ed8ea"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_sensitive" ref="8ff2e7a65544bd2cf5b22ddf1a8ed8ea" args="(node *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_sensitive           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1node.html">node</a> *&nbsp;</td>
          <td class="paramname"> <em>object</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate that a <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> should be sensitive to the pointing device. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>object</em>&nbsp;</td><td>a <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#f9c62177bc692b20961083b4ce2f0361">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="4d8e1e1da8416f98a307635a4b1b2685"></a><!-- doxytag: member="openvrml::gl::viewer::do_insert_texture" ref="4d8e1e1da8416f98a307635a4b1b2685" args="(const texture_node &amp;n, bool retainHint=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_insert_texture           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>retainHint</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a texture object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>texture. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>retainHint</em>&nbsp;</td><td>whether the texture is likely to be reused. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#e0aba372a3bcedcd4c4b9548e754bb11">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="c7a256c0b1b9d2edc48ad3927f0f6152"></a><!-- doxytag: member="openvrml::gl::viewer::do_remove_texture_object" ref="c7a256c0b1b9d2edc48ad3927f0f6152" args="(const texture_node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_remove_texture_object           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ref</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a texture from the display list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ref</em>&nbsp;</td><td>texture handle. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#515bbfb3c0572ede678f11900520d99c">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="0f05b43d8c38fd4a30d1c1d07882dfd7"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_texture_transform" ref="0f05b43d8c38fd4a30d1c1d07882dfd7" args="(const vec2f &amp;center, float rotation, const vec2f &amp;scale, const vec2f &amp;translation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_texture_transform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>center</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>translation</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the texture transform. 
<p>
Texture coordinate transform Tc' = -C x S x R x C x T x Tc<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>center</em>&nbsp;</td><td>center. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></em>&nbsp;</td><td><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scale</em>&nbsp;</td><td>scale. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>translation</em>&nbsp;</td><td>translation. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#d975b8eff13915979962a1e6be5779a7">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="8886e7a51f5979d9d0e9c65fdcddb2cb"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_viewpoint" ref="8886e7a51f5979d9d0e9c65fdcddb2cb" args="(const vec3f &amp;position, const openvrml::rotation &amp;orientation, float avatarSize, float visibilityLimit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_viewpoint           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>orientation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>avatarSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>visibilityLimit</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the viewpoint. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>position</em>&nbsp;</td><td>position. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>orientation</em>&nbsp;</td><td>orientation. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>avatarSize</em>&nbsp;</td><td>avatar size. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>visibilityLimit</em>&nbsp;</td><td>visiblity limit. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#b450f970f5ff36f453a393420bd99dd2">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="dd562a20a180861615a3700bdd02b76d"></a><!-- doxytag: member="openvrml::gl::viewer::do_transform" ref="dd562a20a180861615a3700bdd02b76d" args="(const mat4f &amp;mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_transform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mat</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply the current modelview matrix by <code>mat</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mat</em>&nbsp;</td><td>a matrix. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#a788bb09c73c36209e98d71d45500ad7">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="43c53870fde7fd107c6e73443f6fc94a"></a><!-- doxytag: member="openvrml::gl::viewer::do_transform_points" ref="43c53870fde7fd107c6e73443f6fc94a" args="(size_t nPoints, vec3f *point) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_transform_points           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>nPoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> *&nbsp;</td>
          <td class="paramname"> <em>point</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform <code>points</code> by the current modelview matrix. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nPoints</em>&nbsp;</td><td>number of points. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>point</em>&nbsp;</td><td>pointer to the first point in an array. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#49447f3ff7bf3edbef8a33fb1359e7ad">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="eae63a7e0b1b3856f16e8fe6084583d6"></a><!-- doxytag: member="openvrml::gl::viewer::do_draw_bounding_sphere" ref="eae63a7e0b1b3856f16e8fe6084583d6" args="(const bounding_sphere &amp;bs, bounding_volume::intersection intersection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_draw_bounding_sphere           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1bounding__sphere.html">bounding_sphere</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">bounding_volume::intersection</a>&nbsp;</td>
          <td class="paramname"> <em>intersection</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draw a bounding sphere. 
<p>
Used for debugging view culling. Probably should be draw_bounding_volume and handle axis_aligned_bounding_boxes as well.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bs</em>&nbsp;</td><td>a bounding sphere; if max, will not be drawn </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>intersection</em>&nbsp;</td><td>one of the bvolume intersection test constants, or 4 to draw in unique way. (useful for debugging) </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1viewer.html#723cca705fd896e2f5005d0786d010d3">openvrml::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="80c51dbc6bf0acf0a172d1a271a45046"></a><!-- doxytag: member="openvrml::gl::viewer::do_post_redraw" ref="80c51dbc6bf0acf0a172d1a271a45046" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_post_redraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called to indicate to the windowing system that a redraw is necessary. 
<p>

</div>
</div><p>
<a class="anchor" name="bd34fdf52669d79b3997bc8a6a7df84d"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_cursor" ref="bd34fdf52669d79b3997bc8a6a7df84d" args="(cursor_style c)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_cursor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eefbfe0469554760fa19bf065166c4fa">cursor_style</a>&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called to set the cursor style. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>c</em>&nbsp;</td><td>cursor style identifier. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="122f92df64f10b182eacba4051f72ec7"></a><!-- doxytag: member="openvrml::gl::viewer::do_swap_buffers" ref="122f92df64f10b182eacba4051f72ec7" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_swap_buffers           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called to indicate to the windowing system that the front and back buffers should be swapped. 
<p>

</div>
</div><p>
<a class="anchor" name="d98051416adf549522830adee02eea8b"></a><!-- doxytag: member="openvrml::gl::viewer::do_set_timer" ref="d98051416adf549522830adee02eea8b" args="(double interval)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::gl::viewer::do_set_timer           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>interval</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a delay. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>interval</em>&nbsp;</td><td>milliseconds to delay. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="32a4b6857c1bc4adcfd4679afd03dda7"></a><!-- doxytag: member="openvrml::gl::viewer::modelview_matrix_stack_" ref="32a4b6857c1bc4adcfd4679afd03dda7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1gl_1_1viewer_1_1modelview__matrix__stack.html">openvrml::gl::viewer::modelview_matrix_stack</a> <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#32a4b6857c1bc4adcfd4679afd03dda7">openvrml::gl::viewer::modelview_matrix_stack_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modelview matrix stack. 
<p>

</div>
</div><p>
<a class="anchor" name="e0f26c1badc0cce83a0c3ae77a9ae899"></a><!-- doxytag: member="openvrml::gl::viewer::gl_initialized" ref="e0f26c1badc0cce83a0c3ae77a9ae899" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e0f26c1badc0cce83a0c3ae77a9ae899">openvrml::gl::viewer::gl_initialized</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate whether OpenGL has been initialized for rendering. 
<p>

</div>
</div><p>
<a class="anchor" name="f56f6ef111656413919720da470f11b2"></a><!-- doxytag: member="openvrml::gl::viewer::blend" ref="f56f6ef111656413919720da470f11b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f56f6ef111656413919720da470f11b2">openvrml::gl::viewer::blend</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate whether alpha blending is enabled. 
<p>

</div>
</div><p>
<a class="anchor" name="11988e802f3b6487ad18b9520a883444"></a><!-- doxytag: member="openvrml::gl::viewer::lit" ref="11988e802f3b6487ad18b9520a883444" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#11988e802f3b6487ad18b9520a883444">openvrml::gl::viewer::lit</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate whether lighting is enabled. 
<p>

</div>
</div><p>
<a class="anchor" name="e43a5183a8f45e06b7453dd91d3dd7b7"></a><!-- doxytag: member="openvrml::gl::viewer::texture" ref="e43a5183a8f45e06b7453dd91d3dd7b7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e43a5183a8f45e06b7453dd91d3dd7b7">openvrml::gl::viewer::texture</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate whether texture mapping is enabled. 
<p>

</div>
</div><p>
<a class="anchor" name="d8ff668628c3d0a6e72326fa612067f0"></a><!-- doxytag: member="openvrml::gl::viewer::wireframe" ref="d8ff668628c3d0a6e72326fa612067f0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#d8ff668628c3d0a6e72326fa612067f0">openvrml::gl::viewer::wireframe</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate whether wireframe mode is enabled. 
<p>

</div>
</div><p>
<a class="anchor" name="b8593cea25dcbcb28b5b82444cc447d3"></a><!-- doxytag: member="openvrml::gl::viewer::win_width" ref="b8593cea25dcbcb28b5b82444cc447d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#b8593cea25dcbcb28b5b82444cc447d3">openvrml::gl::viewer::win_width</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Window width. 
<p>

</div>
</div><p>
<a class="anchor" name="c7949f97d0f96c62d597da4f7af13092"></a><!-- doxytag: member="openvrml::gl::viewer::win_height" ref="c7949f97d0f96c62d597da4f7af13092" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c7949f97d0f96c62d597da4f7af13092">openvrml::gl::viewer::win_height</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Window height. 
<p>

</div>
</div><p>
<a class="anchor" name="c55376cb13651a0e14b386d692cee00a"></a><!-- doxytag: member="openvrml::gl::viewer::background" ref="c55376cb13651a0e14b386d692cee00a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1color.html">color</a> <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c55376cb13651a0e14b386d692cee00a">openvrml::gl::viewer::background</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Background <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="e21e4bed24a7c93715097573909a42a1"></a><!-- doxytag: member="openvrml::gl::viewer::objects" ref="e21e4bed24a7c93715097573909a42a1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e21e4bed24a7c93715097573909a42a1">openvrml::gl::viewer::objects</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of objects. 
<p>

</div>
</div><p>
<a class="anchor" name="ea1b38e5941585d1e7171bcd345984f3"></a><!-- doxytag: member="openvrml::gl::viewer::nested_objects" ref="ea1b38e5941585d1e7171bcd345984f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ea1b38e5941585d1e7171bcd345984f3">openvrml::gl::viewer::nested_objects</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of nested objects. 
<p>

</div>
</div><p>
<a class="anchor" name="c66555804f6788d5e77ecbaac02d44dd"></a><!-- doxytag: member="openvrml::gl::viewer::tesselator" ref="c66555804f6788d5e77ecbaac02d44dd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GLUtesselator * <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c66555804f6788d5e77ecbaac02d44dd">openvrml::gl::viewer::tesselator</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
GLU tesselation object. 
<p>

</div>
</div><p>
<a class="anchor" name="ba1fc51faae8d231f56e21bba97e5931"></a><!-- doxytag: member="openvrml::gl::viewer::sensitive" ref="ba1fc51faae8d231f56e21bba97e5931" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ba1fc51faae8d231f56e21bba97e5931">openvrml::gl::viewer::sensitive</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Count of sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="13da592668b40ac46540558e2daa4b76"></a><!-- doxytag: member="openvrml::gl::viewer::active_sensitive" ref="13da592668b40ac46540558e2daa4b76" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#13da592668b40ac46540558e2daa4b76">openvrml::gl::viewer::active_sensitive</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Count of active sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="6e807d7717a030364275b870eb4b443a"></a><!-- doxytag: member="openvrml::gl::viewer::over_sensitive" ref="6e807d7717a030364275b870eb4b443a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6e807d7717a030364275b870eb4b443a">openvrml::gl::viewer::over_sensitive</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Count of sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a> the mouse is over. 
<p>

</div>
</div><p>
<a class="anchor" name="d6c600fd76e44eab11d250856287f44b"></a><!-- doxytag: member="openvrml::gl::viewer::sensitive_object" ref="d6c600fd76e44eab11d250856287f44b" args="[maxsensitive]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1node.html">openvrml::node</a> * <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#d6c600fd76e44eab11d250856287f44b">openvrml::gl::viewer::sensitive_object</a>[openvrml::gl::viewer::maxsensitive]<code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sensitive <a class="el" href="classopenvrml_1_1node.html">nodes</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="de86e2cf8164e062cbe6af899db51657"></a><!-- doxytag: member="openvrml::gl::viewer::select_mode" ref="de86e2cf8164e062cbe6af899db51657" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#de86e2cf8164e062cbe6af899db51657">openvrml::gl::viewer::select_mode</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Indicate whether the renderer is in select mode. 
<p>

</div>
</div><p>
<a class="anchor" name="a6d71d949b0bccae8fce9120e43dd051"></a><!-- doxytag: member="openvrml::gl::viewer::select_z" ref="a6d71d949b0bccae8fce9120e43dd051" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a6d71d949b0bccae8fce9120e43dd051">openvrml::gl::viewer::select_z</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Window z-coordinate of last selection. 
<p>

</div>
</div><p>
<a class="anchor" name="28f52cf8c5c2bd2c861d607108e1681e"></a><!-- doxytag: member="openvrml::gl::viewer::light_info_" ref="28f52cf8c5c2bd2c861d607108e1681e" args="[max_lights]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1light__info.html">openvrml::gl::viewer::light_info</a> <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#28f52cf8c5c2bd2c861d607108e1681e">openvrml::gl::viewer::light_info_</a>[viewer::max_lights]<code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structopenvrml_1_1gl_1_1viewer_1_1light__info.html" title="Light information.">light_info</a> for the lights in the <a class="el" href="classopenvrml_1_1scene.html" title="A scene in the VRML world.">scene</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="183d7b96fd0645ccd9c311011d26ab21"></a><!-- doxytag: member="openvrml::gl::viewer::beginx" ref="183d7b96fd0645ccd9c311011d26ab21" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#183d7b96fd0645ccd9c311011d26ab21">openvrml::gl::viewer::beginx</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Mouse drag start x-coordinate. 
<p>

</div>
</div><p>
<a class="anchor" name="77343feede3308951cb68d13b80dc2af"></a><!-- doxytag: member="openvrml::gl::viewer::beginy" ref="77343feede3308951cb68d13b80dc2af" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#77343feede3308951cb68d13b80dc2af">openvrml::gl::viewer::beginy</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Mouse drag start y-coordinate. 
<p>

</div>
</div><p>
<a class="anchor" name="e5311c6a31ad2a3097c16dcba0cb6109"></a><!-- doxytag: member="openvrml::gl::viewer::rotating" ref="e5311c6a31ad2a3097c16dcba0cb6109" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e5311c6a31ad2a3097c16dcba0cb6109">openvrml::gl::viewer::rotating</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether the <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> is in the process of rotating. 
<p>

</div>
</div><p>
<a class="anchor" name="f7d4d9bb655a09a6a686d9041cff2276"></a><!-- doxytag: member="openvrml::gl::viewer::scaling" ref="f7d4d9bb655a09a6a686d9041cff2276" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f7d4d9bb655a09a6a686d9041cff2276">openvrml::gl::viewer::scaling</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether the <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> is in the process of scaling. 
<p>

</div>
</div><p>
<a class="anchor" name="6b328876ba9fd88059cdf092af4b5350"></a><!-- doxytag: member="openvrml::gl::viewer::translating" ref="6b328876ba9fd88059cdf092af4b5350" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6b328876ba9fd88059cdf092af4b5350">openvrml::gl::viewer::translating</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether the <a class="el" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa.">viewer</a> is in the process of translating. 
<p>

</div>
</div><p>
<a class="anchor" name="e9279998adac10ec55843c27d7b626b6"></a><!-- doxytag: member="openvrml::gl::viewer::draw_bounding_spheres" ref="e9279998adac10ec55843c27d7b626b6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#e9279998adac10ec55843c27d7b626b6">openvrml::gl::viewer::draw_bounding_spheres</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether to draw bounding spheres. 
<p>

</div>
</div><p>
<a class="anchor" name="0a934e84dda6fff1bf898ffc52fb6f36"></a><!-- doxytag: member="openvrml::gl::viewer::render_time" ref="0a934e84dda6fff1bf898ffc52fb6f36" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#0a934e84dda6fff1bf898ffc52fb6f36">openvrml::gl::viewer::render_time</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Updated at the end of redraw with the time redraw took to execute. 
<p>

</div>
</div><p>
<a class="anchor" name="40ddd6e89d063c305976a1528ace598d"></a><!-- doxytag: member="openvrml::gl::viewer::render_time1" ref="40ddd6e89d063c305976a1528ace598d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#40ddd6e89d063c305976a1528ace598d">openvrml::gl::viewer::render_time1</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rendering time for the previous cycle. 
<p>

</div>
</div><p>
</div>
</div>
<address class="footer"><span class="images"><a href="http://web3d.org/x3d/"><img src="x3d-white-on-black.png" width="43" height="32" border="0" alt="X3D"></a><a href="http://opengl.org"><img src="OGL_sm_wht.png" width="68" height="32" border="0" alt="OpenGL"></a><a href="http://sourceforge.net/projects/openvrml"><img src="http://sourceforge.net/sflogo.php?group_id=7151&amp;type=11" width="120" height="30" border="0" alt="SourceForge.net"></a></span><a href="https://sourceforge.net/apps/trac/openvrml/newticket">Report error</a><br>Generated Thu Aug 13 02:49:22 2009 by Doxygen 1.5.8</address>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">_uacct = "UA-446379-2"; urchinTracker();</script>
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://sourceforge.net/apps/piwik/openvrml/" : "http://sourceforge.net/apps/piwik/openvrml/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
piwik_action_name = '';
piwik_idsite = 1;
piwik_url = pkBaseURL + "piwik.php";
piwik_log(piwik_action_name, piwik_idsite, piwik_url);
</script>
<object><noscript><p><img src="http://sourceforge.net/apps/piwik/openvrml/piwik.php?idsite=1" alt="piwik"/></p></noscript></object>
<!-- End Piwik Tag -->
</body>
</html>