Sophie

Sophie

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

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::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="classopenvrml_1_1viewer.html">viewer</a>
  </div>
</div>
<div class="contents">
<h1>openvrml::viewer Class Reference</h1><!-- doxytag: class="openvrml::viewer" -->Map the scene graph to the underlying graphics library.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;openvrml/viewer.h&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for openvrml::viewer:</div>
<div class="dynsection">
<p><center><img src="classopenvrml_1_1viewer__inherit__graph.png" border="0" usemap="#openvrml_1_1viewer__inherit__map" alt="Inheritance graph"></center>
<map name="openvrml_1_1viewer__inherit__map">
<area shape="rect" href="classopenvrml_1_1gl_1_1viewer.html" title="Abstract class for display of VRML models using OpenGL/Mesa." alt="" coords="5,83,149,112"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classopenvrml_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>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<b>mask_none</b> =  0, 
<br>
&nbsp;&nbsp;<b>mask_ccw</b> =  1, 
<br>
&nbsp;&nbsp;<b>mask_convex</b> =  2, 
<br>
&nbsp;&nbsp;<b>mask_solid</b> =  4, 
<br>
&nbsp;&nbsp;<b>mask_bottom</b> =  8, 
<br>
&nbsp;&nbsp;<b>mask_top</b> =  16, 
<br>
&nbsp;&nbsp;<b>mask_side</b> =  32, 
<br>
&nbsp;&nbsp;<b>mask_color_per_vertex</b> =  64, 
<br>
&nbsp;&nbsp;<b>mask_normal_per_vertex</b> =  128
<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_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">rendering_mode</a> { <br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815a9590a85ca13e51aebee7e723a0b32e7">draw_mode</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a8155a8fd203eeb492a92925b55090340ac0">pick_mode</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The rendering mode.  <a href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></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_1viewer.html#feeb1472d09460f9761e9597f7f9cf8b">~viewer</a> ()=0  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy.  <a href="#feeb1472d09460f9761e9597f7f9cf8b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acd27c1c8dd5f87f638b02b3095b07d9"></a><!-- doxytag: member="openvrml::viewer::browser" ref="acd27c1c8dd5f87f638b02b3095b07d9" args="() const " -->
<a class="el" href="classopenvrml_1_1browser.html">openvrml::browser</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>browser</b> () const   throw ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><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_1viewer.html#5508f23302a6d6179a9a99e30e28c0a0">mode</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rendering mode.  <a href="#5508f23302a6d6179a9a99e30e28c0a0"></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_1viewer.html#cdb33dea94b8108c4a30d038e2a9e796">frame_rate</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the frame rate.  <a href="#cdb33dea94b8108c4a30d038e2a9e796"></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_1viewer.html#9cf7e6987bd1498fcfe3fce790e856c8">reset_user_navigation</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return view to the last bound Viewpoint.  <a href="#9cf7e6987bd1498fcfe3fce790e856c8"></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_1viewer.html#835d9133d2bbcb88decd3d4afbefd399">begin_object</a> (const char *id, bool retain=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin a display list.  <a href="#835d9133d2bbcb88decd3d4afbefd399"></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_1viewer.html#99d2f27056c95a587c529819314f400a">end_object</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End a display list.  <a href="#99d2f27056c95a587c529819314f400a"></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_1viewer.html#1da961c624bef3186bd647183b587b09">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="#1da961c624bef3186bd647183b587b09"></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_1viewer.html#e0a9bd4d166a8ee9ee4e924b912e1b1b">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="#e0a9bd4d166a8ee9ee4e924b912e1b1b"></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_1viewer.html#7861c6524cac9bbe9d26a0808d0bc681">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="#7861c6524cac9bbe9d26a0808d0bc681"></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_1viewer.html#594c03458c8bbb3fcbc8ca621215e6ec">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="#594c03458c8bbb3fcbc8ca621215e6ec"></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_1viewer.html#e26e3b28679c1f561c1059e029c37a4a">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> x_dimension, <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> z_dimension, float x_spacing, float z_spacing, 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;tex_coord)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an elevation grid into a display list.  <a href="#e26e3b28679c1f561c1059e029c37a4a"></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_1viewer.html#8ee9431213ed57dd7033765c9b7fe073">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;cross_section, const std::vector&lt; <a class="el" href="structopenvrml_1_1rotation.html">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="#8ee9431213ed57dd7033765c9b7fe073"></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_1viewer.html#347aa561df70e7345d29fa0ef46c8692">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;coord_index, bool color_per_vertex, 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;color_index)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a line set into a display list.  <a href="#347aa561df70e7345d29fa0ef46c8692"></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_1viewer.html#8bb63bdc6143585ce701d62920292d6c">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="#8bb63bdc6143585ce701d62920292d6c"></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_1viewer.html#7e0be2adb5c50de713a925d7a8a82f15">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;coord_index, 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;color_index, 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;normal_index, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;tex_coord, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;tex_coord_index)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a shell into a display list.  <a href="#7e0be2adb5c50de713a925d7a8a82f15"></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_1viewer.html#b229e07ec4cae6a4d41310220488c1a3">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="#b229e07ec4cae6a4d41310220488c1a3"></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_1viewer.html#b16fae74ac2c34e37726f7132f7a615c">insert_dir_light</a> (float ambient_intensity, 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="#b16fae74ac2c34e37726f7132f7a615c"></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_1viewer.html#896b8b252cab72fd8189b0926e62bf12">insert_point_light</a> (float ambient_intensity, 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="#896b8b252cab72fd8189b0926e62bf12"></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_1viewer.html#a867f61225be33d89f099a34ac9b2f4e">insert_spot_light</a> (float ambient_intensity, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;attenuation, float beam_width, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, float cut_off_angle, 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="#a867f61225be33d89f099a34ac9b2f4e"></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_1viewer.html#a5ad283bc15adc1f9736d973ef106a5f">remove_object</a> (const <a class="el" href="classopenvrml_1_1node.html">node</a> &amp;n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the display list.  <a href="#a5ad283bc15adc1f9736d973ef106a5f"></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_1viewer.html#e5cb76852822147348104a04e5883843">enable_lighting</a> (bool val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable lighting.  <a href="#e5cb76852822147348104a04e5883843"></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_1viewer.html#212e89c95b0a0afc7defff8c4baac587">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 visibility_range, const char *type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the fog.  <a href="#212e89c95b0a0afc7defff8c4baac587"></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_1viewer.html#db1bb50fa558cb354fe03a37aafc9ed9">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="#db1bb50fa558cb354fe03a37aafc9ed9"></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_1viewer.html#620c23f60fc19ec17bf9e39f00926f0f">set_material</a> (float ambient_intensity, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;diffuse_color, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;emissive_color, float shininess, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;specular_color, float transparency)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the material.  <a href="#620c23f60fc19ec17bf9e39f00926f0f"></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_1viewer.html#b2b5a6e6e4b2b2642b5246f8918efb06">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="#b2b5a6e6e4b2b2642b5246f8918efb06"></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_1viewer.html#b09781523f68805bd3613379bb986607">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="#b09781523f68805bd3613379bb986607"></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_1viewer.html#c8150be3ded41b47c3a7772f25a2b53c">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="#c8150be3ded41b47c3a7772f25a2b53c"></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_1viewer.html#9b9b4e75acf9b1ae41352e8052f18ada">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="#9b9b4e75acf9b1ae41352e8052f18ada"></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_1viewer.html#f9062e8f70c6c11ee95be8331ac392b1">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="#f9062e8f70c6c11ee95be8331ac392b1"></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_1viewer.html#36cdea35894f1959f176ebc14d7d3dc1">set_frustum</a> (float field_of_view, float avatar_size, float visibility_limit)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#36cdea35894f1959f176ebc14d7d3dc1"></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_1viewer.html#8c63937de2876b72c36921609e26639b">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">rotation</a> &amp;orientation, float avatar_size, float visibility_limit)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the viewpoint.  <a href="#8c63937de2876b72c36921609e26639b"></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_1viewer.html#f5a6e324e8c90d93b62de4cc352dabeb">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">Transform the modelview.  <a href="#f5a6e324e8c90d93b62de4cc352dabeb"></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_1viewer.html#a64863952c4f96d7ef6d9ced68123859">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="#a64863952c4f96d7ef6d9ced68123859"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1viewer.html#ba82e1312751306da5ee99d6622a8b5d">frustum</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#ba82e1312751306da5ee99d6622a8b5d"></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_1viewer.html#6449d05551ac67ab30692be3a0f72e49">frustum</a> (const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#6449d05551ac67ab30692be3a0f72e49"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">bounding_volume::intersection</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1viewer.html#c5e64335d94e9abf9984a41c874a1cd4">intersect_view_volume</a> (const <a class="el" href="classopenvrml_1_1bounding__volume.html">bounding_volume</a> &amp;bvolume) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect the given bounding volume with the view volume.  <a href="#c5e64335d94e9abf9984a41c874a1cd4"></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_1viewer.html#c56ef0faf8447986308f444ffe6d57eb">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="#c56ef0faf8447986308f444ffe6d57eb"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected 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_1viewer.html#4ed7c98f5d6f3288d1e03546df3b07d9">viewer</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct.  <a href="#4ed7c98f5d6f3288d1e03546df3b07d9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br class="typebreak">
<a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">bounding_volume::intersection</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1viewer.html#ee863cc8dcffba8ed1eb021f75378d8b">do_intersect_view_volume</a> (const <a class="el" href="classopenvrml_1_1bounding__volume.html">bounding_volume</a> &amp;bvolume) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect the given bounding volume with the view volume.  <a href="#ee863cc8dcffba8ed1eb021f75378d8b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1viewer.html#eece5d62ddf9bc511ec987eaf89bdbe6">do_frustum</a> () const </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_1viewer.html#3194c3725b8ecc747cdfeada1f86869b">do_frustum</a> (const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#3194c3725b8ecc747cdfeada1f86869b"></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_1frustum.html">openvrml::frustum</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1viewer.html#72e1ee4537ae227bd3ffc3dc2d4ed6d5">frustum_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#72e1ee4537ae227bd3ffc3dc2d4ed6d5"></a><br></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_1viewer.html#01b769bb6d27df9d426b05546e8f1155">do_mode</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rendering mode.  <a href="#01b769bb6d27df9d426b05546e8f1155"></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_1viewer.html#d3a018d5c4997f383fb5fde58ff68b1e">do_frame_rate</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the frame rate.  <a href="#d3a018d5c4997f383fb5fde58ff68b1e"></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_1viewer.html#a16031c8331a31c1b1ebf19d33f0c4ca">do_reset_user_navigation</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return view to the last bound Viewpoint.  <a href="#a16031c8331a31c1b1ebf19d33f0c4ca"></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_1viewer.html#32d625408e968f771c3dea39d5b1331e">do_begin_object</a> (const char *id, bool retain=false)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin a display list.  <a href="#32d625408e968f771c3dea39d5b1331e"></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_1viewer.html#22baab42fd407095a203d11fa6fe921f">do_end_object</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End a display list.  <a href="#22baab42fd407095a203d11fa6fe921f"></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_1viewer.html#4fa42a614f44e41f7666cdf9d7d434be">do_insert_background</a> (const <a class="el" href="classopenvrml_1_1background__node.html">background_node</a> &amp;n)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a background into a display list.  <a href="#4fa42a614f44e41f7666cdf9d7d434be"></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_1viewer.html#21ae0e0f07251f22b49aa147479e535b">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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a box into a display list.  <a href="#21ae0e0f07251f22b49aa147479e535b"></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_1viewer.html#3548e7e6a67d3ce054ff4f9684bb3bb2">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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a cone into a display list.  <a href="#3548e7e6a67d3ce054ff4f9684bb3bb2"></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_1viewer.html#81b63362a61c350993305968f9c1520e">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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a cylinder into a display list.  <a href="#81b63362a61c350993305968f9c1520e"></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_1viewer.html#9e0cd0b8b414bb5a657ebce7f25b4544">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> x_dimension, <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> z_dimension, float x_spacing, float z_spacing, 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;tex_coord)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an elevation grid into a display list.  <a href="#9e0cd0b8b414bb5a657ebce7f25b4544"></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_1viewer.html#5daab64c16f8882fd9796b72b44384ed">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;cross_section, const std::vector&lt; <a class="el" href="structopenvrml_1_1rotation.html">rotation</a> &gt; &amp;orientation, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;scale)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an extrusion into a display list.  <a href="#5daab64c16f8882fd9796b72b44384ed"></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_1viewer.html#dd492af3e3f3095900671a1233674cdf">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;coord_index, bool color_per_vertex, 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;color_index)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a line set into a display list.  <a href="#dd492af3e3f3095900671a1233674cdf"></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_1viewer.html#3135d51c365887161e3c634188ed6ed3">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>)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a point set into a display list.  <a href="#3135d51c365887161e3c634188ed6ed3"></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_1viewer.html#a021fb0165bfcc0b5082bcec0033504f">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;coord_index, 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;color_index, 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;normal_index, const std::vector&lt; <a class="el" href="structopenvrml_1_1vec2f.html">vec2f</a> &gt; &amp;tex_coord, const std::vector&lt; <a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">int32</a> &gt; &amp;tex_coord_index)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a shell into a display list.  <a href="#a021fb0165bfcc0b5082bcec0033504f"></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_1viewer.html#17030b0bb6c54395d632d6a1357d2ce4">do_insert_sphere</a> (const <a class="el" href="classopenvrml_1_1geometry__node.html">geometry_node</a> &amp;n, float radius)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a sphere into a display list.  <a href="#17030b0bb6c54395d632d6a1357d2ce4"></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_1viewer.html#a280f221d1a2eb4e2519a3e66081e71b">do_insert_dir_light</a> (float ambient_intensity, 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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a directional light into a display list.  <a href="#a280f221d1a2eb4e2519a3e66081e71b"></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_1viewer.html#d956fd5ee18470f817108320d040005e">do_insert_point_light</a> (float ambient_intensity, 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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a point light into a display list.  <a href="#d956fd5ee18470f817108320d040005e"></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_1viewer.html#0a9a5d098f3f7e4b1f31b8605e9781a6">do_insert_spot_light</a> (float ambient_intensity, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;attenuation, float beam_width, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;<a class="el" href="structopenvrml_1_1color.html">color</a>, float cut_off_angle, 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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a point light into a display list.  <a href="#0a9a5d098f3f7e4b1f31b8605e9781a6"></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_1viewer.html#d03dde960e141f13ba68b08779f8d929">do_remove_object</a> (const <a class="el" href="classopenvrml_1_1node.html">node</a> &amp;ref)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the display list.  <a href="#d03dde960e141f13ba68b08779f8d929"></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_1viewer.html#013c5d26665f304e77244496655ccef1">do_enable_lighting</a> (bool val)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable lighting.  <a href="#013c5d26665f304e77244496655ccef1"></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_1viewer.html#864becdebe61e285edc89ef7c0222ecd">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 visibility_range, const char *type)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the fog.  <a href="#864becdebe61e285edc89ef7c0222ecd"></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_1viewer.html#17372c0d92b755c6bf2b04fff3b7885a">do_set_color</a> (const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;rgb, float a=1.0)=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="#17372c0d92b755c6bf2b04fff3b7885a"></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_1viewer.html#b7bdca8ce5222e2737949a7f6d7518b1">do_set_material</a> (float ambient_intensity, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;diffuse_color, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;emissive_color, float shininess, const <a class="el" href="structopenvrml_1_1color.html">color</a> &amp;specular_color, float transparency)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the material.  <a href="#b7bdca8ce5222e2737949a7f6d7518b1"></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_1viewer.html#4e3bfa24c849cc8124d28ab1d452c4aa">do_set_material_mode</a> (size_t tex_components, bool geometry_color)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the material mode.  <a href="#4e3bfa24c849cc8124d28ab1d452c4aa"></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_1viewer.html#f9c62177bc692b20961083b4ce2f0361">do_set_sensitive</a> (<a class="el" href="classopenvrml_1_1node.html">node</a> *object)=0</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="#f9c62177bc692b20961083b4ce2f0361"></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_1viewer.html#e0aba372a3bcedcd4c4b9548e754bb11">do_insert_texture</a> (const <a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> &amp;n, bool retainHint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a texture object.  <a href="#e0aba372a3bcedcd4c4b9548e754bb11"></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_1viewer.html#515bbfb3c0572ede678f11900520d99c">do_remove_texture_object</a> (const <a class="el" href="classopenvrml_1_1texture__node.html">texture_node</a> &amp;ref)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a texture from the display list.  <a href="#515bbfb3c0572ede678f11900520d99c"></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_1viewer.html#d975b8eff13915979962a1e6be5779a7">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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the texture transform.  <a href="#d975b8eff13915979962a1e6be5779a7"></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_1viewer.html#9b996a5f3e29854ca1ed828481d1bd3a">do_set_frustum</a> (float field_of_view, float avatar_size, float visibility_limit)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#9b996a5f3e29854ca1ed828481d1bd3a"></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_1viewer.html#b450f970f5ff36f453a393420bd99dd2">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">rotation</a> &amp;orientation, float avatar_size, float visibility_limit)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the viewpoint.  <a href="#b450f970f5ff36f453a393420bd99dd2"></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_1viewer.html#a788bb09c73c36209e98d71d45500ad7">do_transform</a> (const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;mat)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transform the modelview.  <a href="#a788bb09c73c36209e98d71d45500ad7"></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_1viewer.html#49447f3ff7bf3edbef8a33fb1359e7ad">do_transform_points</a> (size_t nPoints, <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> *point) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transform <code>points</code> by the current modelview matrix.  <a href="#49447f3ff7bf3edbef8a33fb1359e7ad"></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_1viewer.html#723cca705fd896e2f5005d0786d010d3">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)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a bounding sphere.  <a href="#723cca705fd896e2f5005d0786d010d3"></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="el" href="classopenvrml_1_1browser.html">openvrml::browser</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1viewer.html#56023f374151088dd501c07ce0880e01">browser_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to the <code><a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a></code> with which the <code><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a></code> is currently associated.  <a href="#56023f374151088dd501c07ce0880e01"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></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_1viewer.html#b0c9c98d2f611c418e351f33fb41ab5b">browser</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to the <code><a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a></code> with which the <code><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a></code> is currently associated.  <a href="#b0c9c98d2f611c418e351f33fb41ab5b"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Map the scene graph to the underlying graphics library. <hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="3b803ec9c21f4da1d32960328fa4a815"></a><!-- doxytag: member="openvrml::viewer::rendering_mode" ref="3b803ec9c21f4da1d32960328fa4a815" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">openvrml::viewer::rendering_mode</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The rendering mode. 
<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="3b803ec9c21f4da1d32960328fa4a815a9590a85ca13e51aebee7e723a0b32e7"></a><!-- doxytag: member="draw_mode" ref="3b803ec9c21f4da1d32960328fa4a815a9590a85ca13e51aebee7e723a0b32e7" args="" -->draw_mode</em>&nbsp;</td><td>
Draw mode. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3b803ec9c21f4da1d32960328fa4a8155a8fd203eeb492a92925b55090340ac0"></a><!-- doxytag: member="pick_mode" ref="3b803ec9c21f4da1d32960328fa4a8155a8fd203eeb492a92925b55090340ac0" args="" -->pick_mode</em>&nbsp;</td><td>
Pick mode. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="feeb1472d09460f9761e9597f7f9cf8b"></a><!-- doxytag: member="openvrml::viewer::~viewer" ref="feeb1472d09460f9761e9597f7f9cf8b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">openvrml::viewer::~viewer           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy. 
<p>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c49975541f414afd6f0e10e57043c61c">openvrml::gl::viewer</a>.</p>

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

<p>
Construct. 
<p>

<p>Reimplemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ba4c3f7ed7f5d3fe3741796a3693e180">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5508f23302a6d6179a9a99e30e28c0a0"></a><!-- doxytag: member="openvrml::viewer::mode" ref="5508f23302a6d6179a9a99e30e28c0a0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">openvrml::viewer::rendering_mode</a> openvrml::viewer::mode           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the rendering mode. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#01b769bb6d27df9d426b05546e8f1155" title="Get the rendering mode.">viewer::do_mode</a></code>.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the rendering mode. </dd></dl>

</div>
</div><p>
<a class="anchor" name="cdb33dea94b8108c4a30d038e2a9e796"></a><!-- doxytag: member="openvrml::viewer::frame_rate" ref="cdb33dea94b8108c4a30d038e2a9e796" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double openvrml::viewer::frame_rate           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the frame rate. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#d3a018d5c4997f383fb5fde58ff68b1e" title="Get the frame rate.">viewer::do_frame_rate</a></code>.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the frame rate. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9cf7e6987bd1498fcfe3fce790e856c8"></a><!-- doxytag: member="openvrml::viewer::reset_user_navigation" ref="9cf7e6987bd1498fcfe3fce790e856c8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::reset_user_navigation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return view to the last bound Viewpoint. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#a16031c8331a31c1b1ebf19d33f0c4ca" title="Return view to the last bound Viewpoint.">viewer::do_reset_user_navigation</a></code>. 
</div>
</div><p>
<a class="anchor" name="835d9133d2bbcb88decd3d4afbefd399"></a><!-- doxytag: member="openvrml::viewer::begin_object" ref="835d9133d2bbcb88decd3d4afbefd399" args="(const char *id, bool retain=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Begin 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>id</em>&nbsp;</td><td>object identifier. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>retain</em>&nbsp;</td><td>whether the object should be retained for reuse.</td></tr>
  </table>
</dl>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#32d625408e968f771c3dea39d5b1331e" title="Begin a display list.">viewer::do_begin_object</a></code>. 
</div>
</div><p>
<a class="anchor" name="99d2f27056c95a587c529819314f400a"></a><!-- doxytag: member="openvrml::viewer::end_object" ref="99d2f27056c95a587c529819314f400a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::end_object           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#22baab42fd407095a203d11fa6fe921f" title="End a display list.">viewer::do_end_object</a></code>. 
</div>
</div><p>
<a class="anchor" name="1da961c624bef3186bd647183b587b09"></a><!-- doxytag: member="openvrml::viewer::insert_background" ref="1da961c624bef3186bd647183b587b09" args="(const background_node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a background into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#4fa42a614f44e41f7666cdf9d7d434be" title="Insert a background into a display list.">viewer::do_insert_background</a></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>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>

</div>
</div><p>
<a class="anchor" name="e0a9bd4d166a8ee9ee4e924b912e1b1b"></a><!-- doxytag: member="openvrml::viewer::insert_box" ref="e0a9bd4d166a8ee9ee4e924b912e1b1b" 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::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a box into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#21ae0e0f07251f22b49aa147479e535b" title="Insert a box into a display list.">viewer::do_insert_box</a></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>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>

</div>
</div><p>
<a class="anchor" name="7861c6524cac9bbe9d26a0808d0bc681"></a><!-- doxytag: member="openvrml::viewer::insert_cone" ref="7861c6524cac9bbe9d26a0808d0bc681" 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::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a cone into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#3548e7e6a67d3ce054ff4f9684bb3bb2" title="Insert a cone into a display list.">viewer::do_insert_cone</a></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>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>

</div>
</div><p>
<a class="anchor" name="594c03458c8bbb3fcbc8ca621215e6ec"></a><!-- doxytag: member="openvrml::viewer::insert_cylinder" ref="594c03458c8bbb3fcbc8ca621215e6ec" 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::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a cylinder into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#81b63362a61c350993305968f9c1520e" title="Insert a cylinder into a display list.">viewer::do_insert_cylinder</a></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>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>

</div>
</div><p>
<a class="anchor" name="e26e3b28679c1f561c1059e029c37a4a"></a><!-- doxytag: member="openvrml::viewer::insert_elevation_grid" ref="e26e3b28679c1f561c1059e029c37a4a" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; float &gt; &amp;height, int32 x_dimension, int32 z_dimension, float x_spacing, float z_spacing, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; vec3f &gt; &amp;normal, const std::vector&lt; vec2f &gt; &amp;tex_coord)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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>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; 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>x_dimension</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>z_dimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x_spacing</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z_spacing</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>tex_coord</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert an elevation grid into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#9e0cd0b8b414bb5a657ebce7f25b4544" title="Insert an elevation grid into a display list.">viewer::do_insert_elevation_grid</a></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>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 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>x_dimension</em>&nbsp;</td><td>vertices in the x direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>z_dimension</em>&nbsp;</td><td>vertices in the z direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>x_spacing</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>z_spacing</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>tex_coord</em>&nbsp;</td><td>texture coordinates. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8ee9431213ed57dd7033765c9b7fe073"></a><!-- doxytag: member="openvrml::viewer::insert_extrusion" ref="8ee9431213ed57dd7033765c9b7fe073" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; vec3f &gt; &amp;spine, const std::vector&lt; vec2f &gt; &amp;cross_section, const std::vector&lt; 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::viewer::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>cross_section</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">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert an extrusion into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#5daab64c16f8882fd9796b72b44384ed" title="Insert an extrusion into a display list.">viewer::do_insert_extrusion</a></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>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>cross_section</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>

</div>
</div><p>
<a class="anchor" name="347aa561df70e7345d29fa0ef46c8692"></a><!-- doxytag: member="openvrml::viewer::insert_line_set" ref="347aa561df70e7345d29fa0ef46c8692" args="(const geometry_node &amp;n, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; int32 &gt; &amp;coord_index, bool color_per_vertex, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; int32 &gt; &amp;color_index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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>coord_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>color_per_vertex</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a line set into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#dd492af3e3f3095900671a1233674cdf" title="Insert a line set into a display list.">viewer::do_insert_line_set</a></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>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>coord_index</em>&nbsp;</td><td>coordinate indices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>color_per_vertex</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>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>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8bb63bdc6143585ce701d62920292d6c"></a><!-- doxytag: member="openvrml::viewer::insert_point_set" ref="8bb63bdc6143585ce701d62920292d6c" 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::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a point set into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#8bb63bdc6143585ce701d62920292d6c" title="Insert a point set into a display list.">viewer::insert_point_set</a></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>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>

</div>
</div><p>
<a class="anchor" name="7e0be2adb5c50de713a925d7a8a82f15"></a><!-- doxytag: member="openvrml::viewer::insert_shell" ref="7e0be2adb5c50de713a925d7a8a82f15" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; int32 &gt; &amp;coord_index, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; int32 &gt; &amp;color_index, const std::vector&lt; vec3f &gt; &amp;normal, const std::vector&lt; int32 &gt; &amp;normal_index, const std::vector&lt; vec2f &gt; &amp;tex_coord, const std::vector&lt; int32 &gt; &amp;tex_coord_index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a shell into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#a021fb0165bfcc0b5082bcec0033504f" title="Insert a shell into a display list.">viewer::do_insert_shell</a></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>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>

</div>
</div><p>
<a class="anchor" name="b229e07ec4cae6a4d41310220488c1a3"></a><!-- doxytag: member="openvrml::viewer::insert_sphere" ref="b229e07ec4cae6a4d41310220488c1a3" args="(const geometry_node &amp;n, float radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a sphere into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#17030b0bb6c54395d632d6a1357d2ce4" title="Insert a sphere into a display list.">viewer::do_insert_sphere</a></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>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>

</div>
</div><p>
<a class="anchor" name="b16fae74ac2c34e37726f7132f7a615c"></a><!-- doxytag: member="openvrml::viewer::insert_dir_light" ref="b16fae74ac2c34e37726f7132f7a615c" args="(float ambient_intensity, 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::viewer::insert_dir_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_intensity</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a directional light into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#a280f221d1a2eb4e2519a3e66081e71b" title="Insert a directional light into a display list.">viewer::do_insert_dir_light</a></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>ambient_intensity</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>

</div>
</div><p>
<a class="anchor" name="896b8b252cab72fd8189b0926e62bf12"></a><!-- doxytag: member="openvrml::viewer::insert_point_light" ref="896b8b252cab72fd8189b0926e62bf12" args="(float ambient_intensity, 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::viewer::insert_point_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_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>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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a point light into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#d956fd5ee18470f817108320d040005e" title="Insert a point light into a display list.">viewer::do_insert_point_light</a></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>ambient_intensity</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>

</div>
</div><p>
<a class="anchor" name="a867f61225be33d89f099a34ac9b2f4e"></a><!-- doxytag: member="openvrml::viewer::insert_spot_light" ref="a867f61225be33d89f099a34ac9b2f4e" args="(float ambient_intensity, const vec3f &amp;attenuation, float beam_width, const color &amp;color, float cut_off_angle, 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::viewer::insert_spot_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_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>attenuation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>beam_width</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>cut_off_angle</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert a point light into a display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#0a9a5d098f3f7e4b1f31b8605e9781a6" title="Insert a point light into a display list.">viewer::do_insert_spot_light</a></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>ambient_intensity</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>beam_width</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>cut_off_angle</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>

</div>
</div><p>
<a class="anchor" name="a5ad283bc15adc1f9736d973ef106a5f"></a><!-- doxytag: member="openvrml::viewer::remove_object" ref="a5ad283bc15adc1f9736d973ef106a5f" args="(const node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove an object from the display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#d03dde960e141f13ba68b08779f8d929" title="Remove an object from the display list.">viewer::do_remove_object</a></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>ref</em>&nbsp;</td><td>object handle. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e5cb76852822147348104a04e5883843"></a><!-- doxytag: member="openvrml::viewer::enable_lighting" ref="e5cb76852822147348104a04e5883843" args="(bool val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::enable_lighting           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enable/disable lighting. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#013c5d26665f304e77244496655ccef1" title="Enable/disable lighting.">viewer::do_enable_lighting</a></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>val</em>&nbsp;</td><td>whether lighting should be enabled. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="212e89c95b0a0afc7defff8c4baac587"></a><!-- doxytag: member="openvrml::viewer::set_fog" ref="212e89c95b0a0afc7defff8c4baac587" args="(const color &amp;color, float visibility_range, const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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>visibility_range</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the fog. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#864becdebe61e285edc89ef7c0222ecd" title="Set the fog.">viewer::do_set_fog</a></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><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>visibility_range</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>

</div>
</div><p>
<a class="anchor" name="db1bb50fa558cb354fe03a37aafc9ed9"></a><!-- doxytag: member="openvrml::viewer::set_color" ref="db1bb50fa558cb354fe03a37aafc9ed9" args="(const color &amp;rgb, float a=1.0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></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>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#17372c0d92b755c6bf2b04fff3b7885a" title="Set the color.">viewer::do_set_color</a></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>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>

</div>
</div><p>
<a class="anchor" name="620c23f60fc19ec17bf9e39f00926f0f"></a><!-- doxytag: member="openvrml::viewer::set_material" ref="620c23f60fc19ec17bf9e39f00926f0f" args="(float ambient_intensity, const color &amp;diffuse_color, const color &amp;emissive_color, float shininess, const color &amp;specular_color, float transparency)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::set_material           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_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>diffuse_color</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>emissive_color</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>specular_color</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the material. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#b7bdca8ce5222e2737949a7f6d7518b1" title="Set the material.">viewer::do_set_material</a></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>ambient_intensity</em>&nbsp;</td><td>ambient intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>diffuse_color</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>emissive_color</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>specular_color</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>

</div>
</div><p>
<a class="anchor" name="b2b5a6e6e4b2b2642b5246f8918efb06"></a><!-- doxytag: member="openvrml::viewer::set_material_mode" ref="b2b5a6e6e4b2b2642b5246f8918efb06" args="(size_t tex_components, bool geometry_color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the material mode. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#4e3bfa24c849cc8124d28ab1d452c4aa" title="Set the material mode.">viewer::do_set_material_mode</a></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>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>

</div>
</div><p>
<a class="anchor" name="b09781523f68805bd3613379bb986607"></a><!-- doxytag: member="openvrml::viewer::set_sensitive" ref="b09781523f68805bd3613379bb986607" args="(node *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></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>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#f9c62177bc692b20961083b4ce2f0361" title="Indicate that a node should be sensitive to the pointing device.">viewer::do_set_sensitive</a></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>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>

</div>
</div><p>
<a class="anchor" name="c8150be3ded41b47c3a7772f25a2b53c"></a><!-- doxytag: member="openvrml::viewer::insert_texture" ref="c8150be3ded41b47c3a7772f25a2b53c" args="(const texture_node &amp;n, bool retainHint=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a texture object. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#e0aba372a3bcedcd4c4b9548e754bb11" title="Create a texture object.">viewer::do_insert_texture</a></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>n</em>&nbsp;</td><td>a <code><a class="el" href="classopenvrml_1_1texture__node.html" title="Abstract base class for texture nodes.">texture_node</a></code>. </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>

</div>
</div><p>
<a class="anchor" name="9b9b4e75acf9b1ae41352e8052f18ada"></a><!-- doxytag: member="openvrml::viewer::remove_texture_object" ref="9b9b4e75acf9b1ae41352e8052f18ada" args="(const texture_node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a texture from the display list. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#515bbfb3c0572ede678f11900520d99c" title="Remove a texture from the display list.">viewer::do_remove_texture_object</a></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>ref</em>&nbsp;</td><td>texture handle. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f9062e8f70c6c11ee95be8331ac392b1"></a><!-- doxytag: member="openvrml::viewer::set_texture_transform" ref="f9062e8f70c6c11ee95be8331ac392b1" 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::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the texture transform. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#d975b8eff13915979962a1e6be5779a7" title="Set the texture transform.">viewer::do_set_texture_transform</a></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>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>

</div>
</div><p>
<a class="anchor" name="36cdea35894f1959f176ebc14d7d3dc1"></a><!-- doxytag: member="openvrml::viewer::set_frustum" ref="36cdea35894f1959f176ebc14d7d3dc1" args="(float field_of_view, float avatar_size, float visibility_limit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::set_frustum           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>field_of_view</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>avatar_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>visibility_limit</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#9b996a5f3e29854ca1ed828481d1bd3a" title="Set the frustum.">viewer::do_set_frustum</a></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>field_of_view</em>&nbsp;</td><td>field of view. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>avatar_size</em>&nbsp;</td><td>avatar size. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>visibility_limit</em>&nbsp;</td><td>visibility limit. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8c63937de2876b72c36921609e26639b"></a><!-- doxytag: member="openvrml::viewer::set_viewpoint" ref="8c63937de2876b72c36921609e26639b" args="(const vec3f &amp;position, const rotation &amp;orientation, float avatar_size, float visibility_limit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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">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>avatar_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>visibility_limit</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the viewpoint. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#b450f970f5ff36f453a393420bd99dd2" title="Set the viewpoint.">viewer::do_set_viewpoint</a></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>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>avatar_size</em>&nbsp;</td><td>avatar size. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>visibility_limit</em>&nbsp;</td><td>visiblity limit. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f5a6e324e8c90d93b62de4cc352dabeb"></a><!-- doxytag: member="openvrml::viewer::transform" ref="f5a6e324e8c90d93b62de4cc352dabeb" args="(const mat4f &amp;mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform the modelview. 
<p>
Make the modelview matrix the result of multiplying <code>mat</code> by the current modelview matrix.<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#a788bb09c73c36209e98d71d45500ad7" title="Transform the modelview.">viewer::do_transform</a></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>transformation matrix. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a64863952c4f96d7ef6d9ced68123859"></a><!-- doxytag: member="openvrml::viewer::transform_points" ref="a64863952c4f96d7ef6d9ced68123859" args="(size_t nPoints, vec3f *point) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::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</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform <code>points</code> by the current modelview matrix. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#49447f3ff7bf3edbef8a33fb1359e7ad" title="Transform points by the current modelview matrix.">viewer::do_transform_points</a></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>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>

</div>
</div><p>
<a class="anchor" name="ba82e1312751306da5ee99d6622a8b5d"></a><!-- doxytag: member="openvrml::viewer::frustum" ref="ba82e1312751306da5ee99d6622a8b5d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp; openvrml::viewer::frustum           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#eece5d62ddf9bc511ec987eaf89bdbe6">viewer::do_frustum</a></code>.<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>We're forcing everybody to carry around a <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a> whether they want it or not. It shouldn't be used except for debugging and stuff since it might not be valid in some implementations</dd></dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="6449d05551ac67ab30692be3a0f72e49"></a><!-- doxytag: member="openvrml::viewer::frustum" ref="6449d05551ac67ab30692be3a0f72e49" args="(const openvrml::frustum &amp;f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::frustum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#3194c3725b8ecc747cdfeada1f86869b" title="Set the frustum.">viewer::do_frustum(const openvrml::frustum &amp;)</a></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>f</em>&nbsp;</td><td>new <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a> value. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c5e64335d94e9abf9984a41c874a1cd4"></a><!-- doxytag: member="openvrml::viewer::intersect_view_volume" ref="c5e64335d94e9abf9984a41c874a1cd4" args="(const bounding_volume &amp;bvolume) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">openvrml::bounding_volume::intersection</a> openvrml::viewer::intersect_view_volume           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1bounding__volume.html">bounding_volume</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bvolume</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect the given bounding volume with the view volume. 
<p>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#ee863cc8dcffba8ed1eb021f75378d8b" title="Intersect the given bounding volume with the view volume.">viewer::do_intersect_view_volume</a></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>bvolume</em>&nbsp;</td><td>the bounding volume to intersect with the view volume.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce39c80ee2ecd82d3db6b70162fd87c8f08" title="Indicates that the tested volume is entirely inside the target volume.">bounding_volume::inside</a>, <a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3b0e1c4e170a8bdffb64c186e47a0f934" title="Indicates that the tested volume is entirely outside the target volume.">bounding_volume::outside</a>, or <a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3b5043a582b7b2c17c9689fe51f26e1b6" title="Indicates that the tested volume intersects with the target volume.">bounding_volume::partial</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c56ef0faf8447986308f444ffe6d57eb"></a><!-- doxytag: member="openvrml::viewer::draw_bounding_sphere" ref="c56ef0faf8447986308f444ffe6d57eb" 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::viewer::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></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>
This function delegates to <code><a class="el" href="classopenvrml_1_1viewer.html#723cca705fd896e2f5005d0786d010d3" title="Draw a bounding sphere.">viewer::do_draw_bounding_sphere</a></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>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>

</div>
</div><p>
<a class="anchor" name="ee863cc8dcffba8ed1eb021f75378d8b"></a><!-- doxytag: member="openvrml::viewer::do_intersect_view_volume" ref="ee863cc8dcffba8ed1eb021f75378d8b" args="(const bounding_volume &amp;bvolume) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">openvrml::bounding_volume::intersection</a> openvrml::viewer::do_intersect_view_volume           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1bounding__volume.html">bounding_volume</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bvolume</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect the given bounding volume with the view volume. 
<p>
This goes into the <a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a> to provide a hook for systems that use nonstandard view volumes. Most subclasses should be able to use the default implementation provided here. If your view volume is so strange that there's no way to cull to it, then reimplement to return <code><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce39c80ee2ecd82d3db6b70162fd87c8f08" title="Indicates that the tested volume is entirely inside the target volume.">bounding_volume::inside</a></code> always.<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>bvolume</em>&nbsp;</td><td>the bounding volume to intersect with the view volume.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><code><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce39c80ee2ecd82d3db6b70162fd87c8f08" title="Indicates that the tested volume is entirely inside the target volume.">bounding_volume::inside</a></code>, <code><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3b0e1c4e170a8bdffb64c186e47a0f934" title="Indicates that the tested volume is entirely outside the target volume.">bounding_volume::outside</a></code>, or <code><a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3b5043a582b7b2c17c9689fe51f26e1b6" title="Indicates that the tested volume intersects with the target volume.">bounding_volume::partial</a></code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="eece5d62ddf9bc511ec987eaf89bdbe6"></a><!-- doxytag: member="openvrml::viewer::do_frustum" ref="eece5d62ddf9bc511ec987eaf89bdbe6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp; openvrml::viewer::do_frustum           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>We're forcing everybody to carry around a <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a> whether they want it or not. It shouldn't be used except for debugging and stuff since it might not be valid in some implementations</dd></dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3194c3725b8ecc747cdfeada1f86869b"></a><!-- doxytag: member="openvrml::viewer::do_frustum" ref="3194c3725b8ecc747cdfeada1f86869b" args="(const openvrml::frustum &amp;f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_frustum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</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>f</em>&nbsp;</td><td>new <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a> value. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="01b769bb6d27df9d426b05546e8f1155"></a><!-- doxytag: member="openvrml::viewer::do_mode" ref="01b769bb6d27df9d426b05546e8f1155" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1viewer.html#3b803ec9c21f4da1d32960328fa4a815">openvrml::viewer::rendering_mode</a> openvrml::viewer::do_mode           </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>
Get the rendering mode. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the rendering mode. </dd></dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#9a1d75c0868a455df65518396c57aa40">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="d3a018d5c4997f383fb5fde58ff68b1e"></a><!-- doxytag: member="openvrml::viewer::do_frame_rate" ref="d3a018d5c4997f383fb5fde58ff68b1e" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double openvrml::viewer::do_frame_rate           </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>
Get the frame rate. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the frame rate. </dd></dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#aa2a9d12e9d01c594a2b3db31a7ec9e0">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="a16031c8331a31c1b1ebf19d33f0c4ca"></a><!-- doxytag: member="openvrml::viewer::do_reset_user_navigation" ref="a16031c8331a31c1b1ebf19d33f0c4ca" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_reset_user_navigation           </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>
Return view to the last bound Viewpoint. 
<p>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#10224ca01af339a54ee6ff46dce30a82">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="32d625408e968f771c3dea39d5b1331e"></a><!-- doxytag: member="openvrml::viewer::do_begin_object" ref="32d625408e968f771c3dea39d5b1331e" args="(const char *id, bool retain=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Begin 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>id</em>&nbsp;</td><td>object identifier. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>retain</em>&nbsp;</td><td>whether the object should be retained for reuse. </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f497f79d610cd923297e293b5de275b9">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="22baab42fd407095a203d11fa6fe921f"></a><!-- doxytag: member="openvrml::viewer::do_end_object" ref="22baab42fd407095a203d11fa6fe921f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_end_object           </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>
End a display list. 
<p>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#f9bf9557e9e9c9664ef6f83a816dedf9">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="4fa42a614f44e41f7666cdf9d7d434be"></a><!-- doxytag: member="openvrml::viewer::do_insert_background" ref="4fa42a614f44e41f7666cdf9d7d434be" args="(const background_node &amp;n)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#ff8e8b4855b8de83e021407ba45dc911">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="21ae0e0f07251f22b49aa147479e535b"></a><!-- doxytag: member="openvrml::viewer::do_insert_box" ref="21ae0e0f07251f22b49aa147479e535b" args="(const geometry_node &amp;n, const vec3f &amp;size)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#9bb830880c7139f0c6d5935ca87b4149">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="3548e7e6a67d3ce054ff4f9684bb3bb2"></a><!-- doxytag: member="openvrml::viewer::do_insert_cone" ref="3548e7e6a67d3ce054ff4f9684bb3bb2" args="(const geometry_node &amp;n, float height, float radius, bool bottom, bool side)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#950ffbc9abd48a89f8a97369de50fd31">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="81b63362a61c350993305968f9c1520e"></a><!-- doxytag: member="openvrml::viewer::do_insert_cylinder" ref="81b63362a61c350993305968f9c1520e" args="(const geometry_node &amp;n, float height, float radius, bool bottom, bool side, bool top)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6033369b2c932eb0d51180a38eb14598">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="9e0cd0b8b414bb5a657ebce7f25b4544"></a><!-- doxytag: member="openvrml::viewer::do_insert_elevation_grid" ref="9e0cd0b8b414bb5a657ebce7f25b4544" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; float &gt; &amp;height, int32 x_dimension, int32 z_dimension, float x_spacing, float z_spacing, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; vec3f &gt; &amp;normal, const std::vector&lt; vec2f &gt; &amp;tex_coord)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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>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; 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>x_dimension</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>z_dimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x_spacing</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z_spacing</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>tex_coord</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, pure 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>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 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>x_dimension</em>&nbsp;</td><td>vertices in the x direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>z_dimension</em>&nbsp;</td><td>vertices in the z direction. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>x_spacing</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>z_spacing</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>tex_coord</em>&nbsp;</td><td>texture coordinates. </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#6210d20064add5b43be315e25e5ce237">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="5daab64c16f8882fd9796b72b44384ed"></a><!-- doxytag: member="openvrml::viewer::do_insert_extrusion" ref="5daab64c16f8882fd9796b72b44384ed" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; vec3f &gt; &amp;spine, const std::vector&lt; vec2f &gt; &amp;cross_section, const std::vector&lt; rotation &gt; &amp;orientation, const std::vector&lt; vec2f &gt; &amp;scale)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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>cross_section</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">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, pure 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>cross_section</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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#01a6b0c650b5107a6bb9c97a7f3695e4">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="dd492af3e3f3095900671a1233674cdf"></a><!-- doxytag: member="openvrml::viewer::do_insert_line_set" ref="dd492af3e3f3095900671a1233674cdf" args="(const geometry_node &amp;n, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; int32 &gt; &amp;coord_index, bool color_per_vertex, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; int32 &gt; &amp;color_index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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>coord_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>color_per_vertex</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, pure 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>coord_index</em>&nbsp;</td><td>coordinate indices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>color_per_vertex</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>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>
  </table>
</dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a58e097654df88502a70d05168141c1e">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="3135d51c365887161e3c634188ed6ed3"></a><!-- doxytag: member="openvrml::viewer::do_insert_point_set" ref="3135d51c365887161e3c634188ed6ed3" args="(const geometry_node &amp;n, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; color &gt; &amp;color)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c20ce0e7382f573ff036638893c47a6b">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="a021fb0165bfcc0b5082bcec0033504f"></a><!-- doxytag: member="openvrml::viewer::do_insert_shell" ref="a021fb0165bfcc0b5082bcec0033504f" args="(const geometry_node &amp;n, unsigned int mask, const std::vector&lt; vec3f &gt; &amp;coord, const std::vector&lt; int32 &gt; &amp;coord_index, const std::vector&lt; color &gt; &amp;color, const std::vector&lt; int32 &gt; &amp;color_index, const std::vector&lt; vec3f &gt; &amp;normal, const std::vector&lt; int32 &gt; &amp;normal_index, const std::vector&lt; vec2f &gt; &amp;tex_coord, const std::vector&lt; int32 &gt; &amp;tex_coord_index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#77218715c20e6e46a65942a4c79c362b">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="17030b0bb6c54395d632d6a1357d2ce4"></a><!-- doxytag: member="openvrml::viewer::do_insert_sphere" ref="17030b0bb6c54395d632d6a1357d2ce4" args="(const geometry_node &amp;n, float radius)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#19409406e7de6edf039dc9923f95035b">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="a280f221d1a2eb4e2519a3e66081e71b"></a><!-- doxytag: member="openvrml::viewer::do_insert_dir_light" ref="a280f221d1a2eb4e2519a3e66081e71b" args="(float ambient_intensity, float intensity, const color &amp;color, const vec3f &amp;direction)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_insert_dir_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_intensity</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, pure 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>ambient_intensity</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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#32346b49860369f409c65d86c3581ef2">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="d956fd5ee18470f817108320d040005e"></a><!-- doxytag: member="openvrml::viewer::do_insert_point_light" ref="d956fd5ee18470f817108320d040005e" args="(float ambient_intensity, const vec3f &amp;attenuation, const color &amp;color, float intensity, const vec3f &amp;location, float radius)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_insert_point_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_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>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, pure 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>ambient_intensity</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>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c7642f3bcae02f65de1422f4fa754171">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="0a9a5d098f3f7e4b1f31b8605e9781a6"></a><!-- doxytag: member="openvrml::viewer::do_insert_spot_light" ref="0a9a5d098f3f7e4b1f31b8605e9781a6" args="(float ambient_intensity, const vec3f &amp;attenuation, float beam_width, const color &amp;color, float cut_off_angle, const vec3f &amp;direction, float intensity, const vec3f &amp;location, float radius)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_insert_spot_light           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_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>attenuation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>beam_width</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>cut_off_angle</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, pure 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>ambient_intensity</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>beam_width</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>cut_off_angle</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>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#520d7240c31a36a0c9afaf5ac17277b7">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="d03dde960e141f13ba68b08779f8d929"></a><!-- doxytag: member="openvrml::viewer::do_remove_object" ref="d03dde960e141f13ba68b08779f8d929" args="(const node &amp;ref)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#a09d089a5a6ff8f81305232c132c6389">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="013c5d26665f304e77244496655ccef1"></a><!-- doxytag: member="openvrml::viewer::do_enable_lighting" ref="013c5d26665f304e77244496655ccef1" args="(bool val)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#683d83bea7562b1f8223eb859a13fc85">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="864becdebe61e285edc89ef7c0222ecd"></a><!-- doxytag: member="openvrml::viewer::do_set_fog" ref="864becdebe61e285edc89ef7c0222ecd" args="(const color &amp;color, float visibility_range, const char *type)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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>visibility_range</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, pure 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>visibility_range</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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#fefb1e7bef14006cad6862c51db3144b">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="17372c0d92b755c6bf2b04fff3b7885a"></a><!-- doxytag: member="openvrml::viewer::do_set_color" ref="17372c0d92b755c6bf2b04fff3b7885a" args="(const color &amp;rgb, float a=1.0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#935e6afa3241efed179ef69058e380ee">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="b7bdca8ce5222e2737949a7f6d7518b1"></a><!-- doxytag: member="openvrml::viewer::do_set_material" ref="b7bdca8ce5222e2737949a7f6d7518b1" args="(float ambient_intensity, const color &amp;diffuse_color, const color &amp;emissive_color, float shininess, const color &amp;specular_color, float transparency)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_set_material           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>ambient_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>diffuse_color</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>emissive_color</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>specular_color</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, pure 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>ambient_intensity</em>&nbsp;</td><td>ambient intensity. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>diffuse_color</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>emissive_color</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>specular_color</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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#467e3a74de90e377c438630e2f2a4105">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="4e3bfa24c849cc8124d28ab1d452c4aa"></a><!-- doxytag: member="openvrml::viewer::do_set_material_mode" ref="4e3bfa24c849cc8124d28ab1d452c4aa" args="(size_t tex_components, bool geometry_color)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the material mode. 
<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>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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#de560e5900531fcdb7fdcda6c27b2eaa">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="f9c62177bc692b20961083b4ce2f0361"></a><!-- doxytag: member="openvrml::viewer::do_set_sensitive" ref="f9c62177bc692b20961083b4ce2f0361" args="(node *object)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#8ff2e7a65544bd2cf5b22ddf1a8ed8ea">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0aba372a3bcedcd4c4b9548e754bb11"></a><!-- doxytag: member="openvrml::viewer::do_insert_texture" ref="e0aba372a3bcedcd4c4b9548e754bb11" args="(const texture_node &amp;n, bool retainHint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, pure 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>a <code><a class="el" href="classopenvrml_1_1texture__node.html" title="Abstract base class for texture nodes.">texture_node</a></code>. </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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#4d8e1e1da8416f98a307635a4b1b2685">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="515bbfb3c0572ede678f11900520d99c"></a><!-- doxytag: member="openvrml::viewer::do_remove_texture_object" ref="515bbfb3c0572ede678f11900520d99c" args="(const texture_node &amp;ref)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>a <code><a class="el" href="classopenvrml_1_1texture__node.html" title="Abstract base class for texture nodes.">texture_node</a></code>. </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#c7a256c0b1b9d2edc48ad3927f0f6152">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="d975b8eff13915979962a1e6be5779a7"></a><!-- doxytag: member="openvrml::viewer::do_set_texture_transform" ref="d975b8eff13915979962a1e6be5779a7" args="(const vec2f &amp;center, float rotation, const vec2f &amp;scale, const vec2f &amp;translation)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the texture transform. 
<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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#0f05b43d8c38fd4a30d1c1d07882dfd7">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="9b996a5f3e29854ca1ed828481d1bd3a"></a><!-- doxytag: member="openvrml::viewer::do_set_frustum" ref="9b996a5f3e29854ca1ed828481d1bd3a" args="(float field_of_view, float avatar_size, float visibility_limit)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::viewer::do_set_frustum           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>field_of_view</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>avatar_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>visibility_limit</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</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>field_of_view</em>&nbsp;</td><td>field of view. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>avatar_size</em>&nbsp;</td><td>avatar size. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>visibility_limit</em>&nbsp;</td><td>visibility limit. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b450f970f5ff36f453a393420bd99dd2"></a><!-- doxytag: member="openvrml::viewer::do_set_viewpoint" ref="b450f970f5ff36f453a393420bd99dd2" args="(const vec3f &amp;position, const rotation &amp;orientation, float avatar_size, float visibility_limit)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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">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>avatar_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>visibility_limit</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, pure 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>avatar_size</em>&nbsp;</td><td>avatar size. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>visibility_limit</em>&nbsp;</td><td>visiblity limit. </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#8886e7a51f5979d9d0e9c65fdcddb2cb">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="a788bb09c73c36209e98d71d45500ad7"></a><!-- doxytag: member="openvrml::viewer::do_transform" ref="a788bb09c73c36209e98d71d45500ad7" args="(const mat4f &amp;mat)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform the modelview. 
<p>
Make the modelview matrix the result of multiplying <code>mat</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>mat</em>&nbsp;</td><td>transformation matrix. </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#dd562a20a180861615a3700bdd02b76d">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="49447f3ff7bf3edbef8a33fb1359e7ad"></a><!-- doxytag: member="openvrml::viewer::do_transform_points" ref="49447f3ff7bf3edbef8a33fb1359e7ad" args="(size_t nPoints, vec3f *point) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#43c53870fde7fd107c6e73443f6fc94a">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<a class="anchor" name="723cca705fd896e2f5005d0786d010d3"></a><!-- doxytag: member="openvrml::viewer::do_draw_bounding_sphere" ref="723cca705fd896e2f5005d0786d010d3" args="(const bounding_sphere &amp;bs, bounding_volume::intersection intersection)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::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, pure 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>Implemented in <a class="el" href="classopenvrml_1_1gl_1_1viewer.html#eae63a7e0b1b3856f16e8fe6084583d6">openvrml::gl::viewer</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="b0c9c98d2f611c418e351f33fb41ab5b"></a><!-- doxytag: member="openvrml::viewer::browser" ref="b0c9c98d2f611c418e351f33fb41ab5b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1browser.html">openvrml::browser</a> * openvrml::viewer::browser<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A pointer to the <code><a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a></code> with which the <code><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a></code> is currently associated. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the <code><a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a></code> with which the <code><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a></code> is currently associated, or 0 if the <code><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a></code> is not associated with a <code><a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a></code>. </dd></dl>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="56023f374151088dd501c07ce0880e01"></a><!-- doxytag: member="openvrml::viewer::browser_" ref="56023f374151088dd501c07ce0880e01" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1browser.html">openvrml::browser</a> * <a class="el" href="classopenvrml_1_1viewer.html#56023f374151088dd501c07ce0880e01">openvrml::viewer::browser_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A pointer to the <code><a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a></code> with which the <code><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a></code> is currently associated. 
<p>

</div>
</div><p>
<a class="anchor" name="72e1ee4537ae227bd3ffc3dc2d4ed6d5"></a><!-- doxytag: member="openvrml::viewer::frustum_" ref="72e1ee4537ae227bd3ffc3dc2d4ed6d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> <a class="el" href="classopenvrml_1_1viewer.html#72e1ee4537ae227bd3ffc3dc2d4ed6d5">openvrml::viewer::frustum_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. 
<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>