Sophie

Sophie

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

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::script_node 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_1script__node.html">script_node</a>
  </div>
</div>
<div class="contents">
<h1>openvrml::script_node Class Reference</h1><!-- doxytag: class="openvrml::script_node" --><!-- doxytag: inherits="openvrml::child_node" -->Represents a VRML Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;openvrml/browser.h&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for openvrml::script_node:</div>
<div class="dynsection">
<p><center><img src="classopenvrml_1_1script__node__inherit__graph.png" border="0" usemap="#openvrml_1_1script__node__inherit__map" alt="Inheritance graph"></center>
<map name="openvrml_1_1script__node__inherit__map">
<area shape="rect" href="classopenvrml_1_1child__node.html" title="Abstract base class for child nodes." alt="" coords="44,160,193,189"><area shape="rect" href="classopenvrml_1_1bounded__volume__node.html" title="Abstract base class for nodes that represent a bounded volume in the scene graph..." alt="" coords="5,83,232,112"><area shape="rect" href="classopenvrml_1_1node.html" title="A node in the scene graph." alt="" coords="61,5,176,35"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An <code><a class="el" href="classopenvrml_1_1event__emitter.html" title="Abstract base class of event emitters.">event_emitter</a></code> along with the emitted value.  <a href="classopenvrml_1_1script__node_1_1eventout.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node_1_1metadata__changed__emitter.html">metadata_changed_emitter</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>metadata_changed</code> event emitter.  <a href="classopenvrml_1_1script__node_1_1metadata__changed__emitter.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node_1_1script__node__type.html">script_node_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type objects for <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a>s</code>.  <a href="classopenvrml_1_1script__node_1_1script__node__type.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node_1_1set__metadata__listener.html">set_metadata_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>set_metadata</code> event listener.  <a href="classopenvrml_1_1script__node_1_1set__metadata__listener.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node_1_1set__url__listener__t.html">set_url_listener_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>set_url</code> event listener.  <a href="classopenvrml_1_1script__node_1_1set__url__listener__t.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node_1_1url__changed__emitter.html">url_changed_emitter</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>url_changed</code> event emitter.  <a href="classopenvrml_1_1script__node_1_1url__changed__emitter.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; std::string, <br class="typebreak">
boost::shared_ptr&lt; <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#07cf9595a5b7a144ec468ce6996f412f">field_value_map_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <code>std::map</code> that keys field values on their field name.  <a href="#07cf9595a5b7a144ec468ce6996f412f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::shared_ptr<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1event__listener.html">openvrml::event_listener</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#de38f70354c7805cf201a846d8e3df54">event_listener_ptr</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference-counted smart pointer to an <a class="el" href="classopenvrml_1_1event__listener.html" title="Abstract base class of event listeners.">event_listener</a>.  <a href="#de38f70354c7805cf201a846d8e3df54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; std::string, <br class="typebreak">
<a class="el" href="classopenvrml_1_1script__node.html#de38f70354c7805cf201a846d8e3df54">event_listener_ptr</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#2bcd3406a601150db6eac4e37b0d0e2a">event_listener_map_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of event listeners.  <a href="#2bcd3406a601150db6eac4e37b0d0e2a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::shared_ptr<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1script__node_1_1eventout.html">eventout</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#3f101ae495bc3d29c5e87928db74f394">eventout_ptr</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference-counted smart pointer to an <code><a class="el" href="classopenvrml_1_1script__node_1_1eventout.html" title="An event_emitter along with the emitted value.">eventout</a></code>.  <a href="#3f101ae495bc3d29c5e87928db74f394"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; std::string, <br class="typebreak">
<a class="el" href="classopenvrml_1_1script__node.html#3f101ae495bc3d29c5e87928db74f394">eventout_ptr</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#fb39d24c728692f6492b3c356b0eb2cf">eventout_map_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of <code><a class="el" href="classopenvrml_1_1script__node_1_1eventout.html" title="An event_emitter along with the emitted value.">eventout</a></code> instances.  <a href="#fb39d24c728692f6492b3c356b0eb2cf"></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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#2d7746df8498284e5b74fcc39c067ed1">script_node</a> (<a class="el" href="classopenvrml_1_1script__node__metatype.html">script_node_metatype</a> &amp;class_, const boost::shared_ptr&lt; <a class="el" href="classopenvrml_1_1scope.html">openvrml::scope</a> &gt; &amp;<a class="el" href="classopenvrml_1_1scope.html">scope</a>, const <a class="el" href="namespaceopenvrml.html#4c88b862d45625d0cbeb839d4c4e9ec8">node_interface_set</a> &amp;interfaces, const <a class="el" href="namespaceopenvrml.html#d650f8bae74971c2e692a7fdff2bd57d">initial_value_map</a> &amp;initial_values)  throw (  unsupported_interface  ,   std::bad_cast  ,   std::bad_alloc  ,   std::invalid_argument  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct.  <a href="#2d7746df8498284e5b74fcc39c067ed1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#26be473204d715dcc26c3ee3354d40f8">~script_node</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy.  <a href="#26be473204d715dcc26c3ee3354d40f8"></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_1script__node.html#d28ee1dafbc3d8e42cfe661c8eb05135">update</a> (double current_time)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the <a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a> for the current time.  <a href="#d28ee1dafbc3d8e42cfe661c8eb05135"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classopenvrml_1_1script__node.html#2bcd3406a601150db6eac4e37b0d0e2a">event_listener_map_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#8bbb7259b7f4e81abd57b09b907eb171">event_listener_map</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event listener map accessor.  <a href="#8bbb7259b7f4e81abd57b09b907eb171"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classopenvrml_1_1script__node.html#07cf9595a5b7a144ec468ce6996f412f">field_value_map_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#c67f837acf8ea55b77564eae137745e8">field_value_map</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Field value map accessor.  <a href="#c67f837acf8ea55b77564eae137745e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classopenvrml_1_1script__node.html#fb39d24c728692f6492b3c356b0eb2cf">eventout_map_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#4f3b24a14de9574847e072cb2a85ef64">eventout_map</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>eventOut</code> map accessor.  <a href="#4f3b24a14de9574847e072cb2a85ef64"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfbool.html">sfbool</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#cace9ddd54fc4b5b99086378c5234010">sfbool_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfbool.html" title="A boolean node field value.">sfbool</a></code> event listener.  <a href="#cace9ddd54fc4b5b99086378c5234010"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfcolor.html">sfcolor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#e42dad0a99b82f1a5a45d17eb03cab4d">sfcolor_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfcolor.html" title="A color node field value.">sfcolor</a></code> event listener.  <a href="#e42dad0a99b82f1a5a45d17eb03cab4d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfcolorrgba.html">sfcolorrgba</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#8032718c5ef92f9a46671e9a03e7a800">sfcolorrgba_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfcolorrgba.html" title="A color_rgba node field value.">sfcolorrgba</a></code> event listener.  <a href="#8032718c5ef92f9a46671e9a03e7a800"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sffloat.html">sffloat</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#286f20583cc727cb7e34423df36fc74f">sffloat_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sffloat.html" title="A single precision floating point node field value.">sffloat</a></code> event listener.  <a href="#286f20583cc727cb7e34423df36fc74f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfdouble.html">sfdouble</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#b6d5a987933bbf1d73ede918a68f8e50">sfdouble_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfdouble.html" title="A single precision doubleing point node field value.">sfdouble</a></code> event listener.  <a href="#b6d5a987933bbf1d73ede918a68f8e50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfimage.html">sfimage</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#ffb259787bd9558f41ff26aa4c1df18b">sfimage_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfimage.html" title="A pixmap.">sfimage</a></code> event listener.  <a href="#ffb259787bd9558f41ff26aa4c1df18b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfint32.html">sfint32</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#902920ff83868243660f37fc77026f73">sfint32_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfint32.html" title="A 32-bit integer node field value.">sfint32</a></code> event listener.  <a href="#902920ff83868243660f37fc77026f73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#d02b90d93aa70a67b2cfc213f525cb60">sfnode_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfnode.html" title="A node field value to hold a single node reference.">sfnode</a></code> event listener.  <a href="#d02b90d93aa70a67b2cfc213f525cb60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfrotation.html">sfrotation</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#e92a2ceb262e847c39a81dd64f2d72cf">sfrotation_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfrotation.html" title="A rotation node field value.">sfrotation</a></code> event listener.  <a href="#e92a2ceb262e847c39a81dd64f2d72cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfstring.html">sfstring</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#6f368bf7c391032398a16c23d840802d">sfstring_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfstring.html" title="A string node field value.">sfstring</a></code> event listener.  <a href="#6f368bf7c391032398a16c23d840802d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sftime.html">sftime</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#007f662e8d7781d4320eed8f9710e6c6">sftime_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sftime.html" title="A double precision floating point node field value.">sftime</a></code> event listener.  <a href="#007f662e8d7781d4320eed8f9710e6c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfvec2f.html">sfvec2f</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#449266487b8287b26d6a571d258f14f7">sfvec2f_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfvec2f.html" title="A 2-component vector node field value.">sfvec2f</a></code> event listener.  <a href="#449266487b8287b26d6a571d258f14f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfvec2d.html">sfvec2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#08a71598e3e6325156b7314d33775ea6">sfvec2d_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfvec2d.html" title="A 2-component vector node field value.">sfvec2d</a></code> event listener.  <a href="#08a71598e3e6325156b7314d33775ea6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfvec3f.html">sfvec3f</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#134e1effffd9eaa12f7a889cebe3ba46">sfvec3f_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfvec3f.html" title="A 3-component vector node field value.">sfvec3f</a></code> event listener.  <a href="#134e1effffd9eaa12f7a889cebe3ba46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1sfvec3d.html">sfvec3d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#7eea4e56b8264932d7a4f85125c0a169">sfvec3d_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1sfvec3d.html" title="A 3-component vector node field value.">sfvec3d</a></code> event listener.  <a href="#7eea4e56b8264932d7a4f85125c0a169"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfbool.html">mfbool</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#467ade9890338057b5375a543efe8297">mfbool_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfbool.html" title="A bool array node field value.">mfbool</a></code> event listener.  <a href="#467ade9890338057b5375a543efe8297"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfcolor.html">mfcolor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#f4e8b357ce4e2ea0632a0ad0cdbec9e4">mfcolor_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfcolor.html" title="A color array node field value.">mfcolor</a></code> event listener.  <a href="#f4e8b357ce4e2ea0632a0ad0cdbec9e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfcolorrgba.html">mfcolorrgba</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#3a48f6e423ea9c7dd3213017e803171f">mfcolorrgba_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfcolorrgba.html" title="A color_rgba array node field value.">mfcolorrgba</a></code> event listener.  <a href="#3a48f6e423ea9c7dd3213017e803171f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mffloat.html">mffloat</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#3d02a941f997411c64aedaf60eada9ff">mffloat_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mffloat.html" title="A float array node field value.">mffloat</a></code> event listener.  <a href="#3d02a941f997411c64aedaf60eada9ff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfdouble.html">mfdouble</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#c9f543871530b530cd43f5229f11806c">mfdouble_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfdouble.html" title="A double array node field value.">mfdouble</a></code> event listener.  <a href="#c9f543871530b530cd43f5229f11806c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfimage.html">mfimage</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#ac76b7218557317fccc60a4816c358d9">mfimage_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfimage.html" title="A image array node field value.">mfimage</a></code> event listener.  <a href="#ac76b7218557317fccc60a4816c358d9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfint32.html">mfint32</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#fa25fcfb77369be77fce00a3e67d4eb0">mfint32_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfint32.html" title="An integer array node field value.">mfint32</a></code> event listener.  <a href="#fa25fcfb77369be77fce00a3e67d4eb0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfnode.html">mfnode</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#4e6d5bdc182640582771e4a53090174c">mfnode_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfnode.html" title="A node reference array node field value.">mfnode</a></code> event listener.  <a href="#4e6d5bdc182640582771e4a53090174c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfrotation.html">mfrotation</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#35267b70072378c809ba40abe3e4f58e">mfrotation_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfrotation.html" title="A rotation array node field value.">mfrotation</a></code> event listener.  <a href="#35267b70072378c809ba40abe3e4f58e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfstring.html">mfstring</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#23356fb0782b35c950ece56e8e1bd624">mfstring_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfstring.html" title="A string array node field value.">mfstring</a></code> event listener.  <a href="#23356fb0782b35c950ece56e8e1bd624"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mftime.html">mftime</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#fd2c9d5f7d4a6a3e18ee292d8f5d0fd5">mftime_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mftime.html" title="A double array node field value.">mftime</a></code> event listener.  <a href="#fd2c9d5f7d4a6a3e18ee292d8f5d0fd5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfvec2f.html">mfvec2f</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#cc72cd4b2f6a029ea81464e298637684">mfvec2f_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfvec2f.html" title="A 2-component vector array node field value.">mfvec2f</a></code> event listener.  <a href="#cc72cd4b2f6a029ea81464e298637684"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfvec2d.html">mfvec2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#2164724dd5e63768d32b3cdf9d5a2a4e">mfvec2d_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfvec2d.html" title="A 2-component vector array node field value.">mfvec2d</a></code> event listener.  <a href="#2164724dd5e63768d32b3cdf9d5a2a4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfvec3f.html">mfvec3f</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#d6b66eb7d29a2fbcca14f25889fa8a98">mfvec3f_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfvec3f.html" title="A 3-component vector array node field value.">mfvec3f</a></code> event listener.  <a href="#d6b66eb7d29a2fbcca14f25889fa8a98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef script_event_listener<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1mfvec3d.html">mfvec3d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#fcc6d5d193a1b54243ea7da466f8bd77">mfvec3d_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1mfvec3d.html" title="A 3-component vector array node field value.">mfvec3d</a></code> event listener.  <a href="#fcc6d5d193a1b54243ea7da466f8bd77"></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">std::auto_ptr&lt; <a class="el" href="classopenvrml_1_1script.html">script</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#f1956c32bfdf35d6e39e4f8362738d06">create_script</a> ()  throw (  no_alternative_url  ,   std::bad_alloc  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> object.  <a href="#f1956c32bfdf35d6e39e4f8362738d06"></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_1script__node.html#fa0bf5d6c1b8d0cea37ed408279159fe">assign_with_self_ref_check</a> (const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &amp;, <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &amp;) const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special assignment function to take into account the fact that Script nodes can be self-referential.  <a href="#fa0bf5d6c1b8d0cea37ed408279159fe"></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_1script__node.html#d44f6f170e7e55836721b0704bcfd417">assign_with_self_ref_check</a> (const <a class="el" href="classopenvrml_1_1mfnode.html">mfnode</a> &amp;, <a class="el" href="classopenvrml_1_1mfnode.html">mfnode</a> &amp;) const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special assignment function to take into account the fact that Script nodes can be self referential.  <a href="#d44f6f170e7e55836721b0704bcfd417"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1script__node.html">script_node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#8634984941c3ecb30abed7992c139eda">to_script</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to this <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>.  <a href="#8634984941c3ecb30abed7992c139eda"></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_1script__node.html#42e879355f5f4b6a3718ffbde4bcf557">do_initialize</a> (double timestamp)  throw (  std::bad_alloc  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize.  <a href="#42e879355f5f4b6a3718ffbde4bcf557"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#5f5135c7b9858fc7b1f16112a839bd0a">do_field</a> (const std::string &amp;id) const   throw (  unsupported_interface  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a field.  <a href="#5f5135c7b9858fc7b1f16112a839bd0a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1event__listener.html">openvrml::event_listener</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#a98c40760c62938c6239a6ec23654e37">do_event_listener</a> (const std::string &amp;id)  throw (  unsupported_interface  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an event listener.  <a href="#a98c40760c62938c6239a6ec23654e37"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1event__emitter.html">openvrml::event_emitter</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#14a872f7d7809cb7fb3e09301eba540f">do_event_emitter</a> (const std::string &amp;id)  throw (  unsupported_interface  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an event emitter.  <a href="#14a872f7d7809cb7fb3e09301eba540f"></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_1script__node.html#11e5cd2f00ac2ed41b27a34a18362557">do_shutdown</a> (double timestamp)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called by <code><a class="el" href="classopenvrml_1_1node.html#6cfc6bbd1a93b2b3fa1ecc6d4ced06a0" title="Shut down the node.">node::shutdown</a></code>.  <a href="#11e5cd2f00ac2ed41b27a34a18362557"></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_1script__node.html#1f029e29f0f003405611c26da828808b">do_render_child</a> (<a class="el" href="classopenvrml_1_1viewer.html">viewer</a> &amp;v, <a class="el" href="classopenvrml_1_1rendering__context.html">rendering_context</a> context)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>node::render_child</code> implementation.  <a href="#1f029e29f0f003405611c26da828808b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const boost::shared_ptr<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1event__listener.html">openvrml::event_listener</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#514f5ef5786ddce9a7012c2592a24941">create_listener</a> (<a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">field_value::type_id</a> type, const std::string &amp;id, <a class="el" href="classopenvrml_1_1script__node.html">script_node</a> &amp;<a class="el" href="classopenvrml_1_1node.html">node</a>)  throw (  std::bad_alloc  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> event listener.  <a href="#514f5ef5786ddce9a7012c2592a24941"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::auto_ptr<br class="typebreak">
&lt; <a class="el" href="classopenvrml_1_1event__emitter.html">openvrml::event_emitter</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#1394f2d90b5bbf176950f9baa75ea519">create_emitter</a> (<a class="el" href="classopenvrml_1_1script__node.html">script_node</a> &amp;<a class="el" href="classopenvrml_1_1node.html">node</a>, const <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> &amp;value)  throw (  std::bad_alloc  )</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> event emitter.  <a href="#1394f2d90b5bbf176950f9baa75ea519"></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_1script__node_1_1script__node__type.html">script_node_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#1b29a18bf419fc6f3507d89cee5d20f6">type_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type object for the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> instance.  <a href="#1b29a18bf419fc6f3507d89cee5d20f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node_1_1set__metadata__listener.html">set_metadata_listener</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#9c2b2523861ed8e1d3addfc5cef51a21">set_metadata_listener_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>set_metadata</code> <code>eventIn</code> handler.  <a href="#9c2b2523861ed8e1d3addfc5cef51a21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#258750317944cd2a8183196fea2342b0">metadata_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>metadata</code> field value.  <a href="#258750317944cd2a8183196fea2342b0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node_1_1metadata__changed__emitter.html">metadata_changed_emitter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#7a6aac7b520c2f69f47ff9959219ec58">metadata_changed_emitter_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>metadata_changed</code> <code>eventOut</code> emitter.  <a href="#7a6aac7b520c2f69f47ff9959219ec58"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1sfbool.html">sfbool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#f66f7b43aceec7218a8ff729d95b3d4a">direct_output</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>directOutput</code> field.  <a href="#f66f7b43aceec7218a8ff729d95b3d4a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1sfbool.html">sfbool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#d121a008b1b0bd8a320403e2f2098c80">must_evaluate</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>mustEvaluate</code> field.  <a href="#d121a008b1b0bd8a320403e2f2098c80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node_1_1set__url__listener__t.html">set_url_listener_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#8e7303ebed2c3378732106f971471e90">set_url_listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>set_url</code> <code>eventIn</code> handler.  <a href="#8e7303ebed2c3378732106f971471e90"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1mfstring.html">mfstring</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#409009b3bfdb8be1805e683782e30dc7">url_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>url</code> <code>exposedField</code>.  <a href="#409009b3bfdb8be1805e683782e30dc7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node_1_1url__changed__emitter.html">url_changed_emitter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#203bbf7b82b6f1a03f7e2de170c7081a">url_changed_emitter_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">url_changed eventOut emitter.  <a href="#203bbf7b82b6f1a03f7e2de170c7081a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node.html#07cf9595a5b7a144ec468ce6996f412f">field_value_map_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#b5ccfd76a6fe00f3db6df063660b14b6">field_value_map_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maps user-defined field names to their values.  <a href="#b5ccfd76a6fe00f3db6df063660b14b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node.html#2bcd3406a601150db6eac4e37b0d0e2a">event_listener_map_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#0bf4f7bc552e3b3c2caa5f04a0a00a12">event_listener_map_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of event listeners.  <a href="#0bf4f7bc552e3b3c2caa5f04a0a00a12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1script__node.html#fb39d24c728692f6492b3c356b0eb2cf">eventout_map_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#ab44c52a18ce25fa10a718a6da43b98c">eventout_map_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of <a class="el" href="classopenvrml_1_1script__node_1_1eventout.html" title="An event_emitter along with the emitted value.">eventout</a> instances.  <a href="#ab44c52a18ce25fa10a718a6da43b98c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classopenvrml_1_1script.html">script</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#dcf72e71f29e8dfe1fe99fa48098a348">script_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to a <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> object.  <a href="#dcf72e71f29e8dfe1fe99fa48098a348"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#f4bc55dedfef0e093542d0590280997e">events_received</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A count of the number of events received since <code><a class="el" href="classopenvrml_1_1script__node.html#d28ee1dafbc3d8e42cfe661c8eb05135" title="Update the script_node for the current time.">update</a></code> was called.  <a href="#f4bc55dedfef0e093542d0590280997e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classopenvrml_1_1script__factory__registry.html">script_factory_registry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1script__node.html#9a6992c741d6d2d02435225af145ded3">script_factory_registry_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registry of <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> engine modules.  <a href="#9a6992c741d6d2d02435225af145ded3"></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_1script__node.html#e7d1c30f4da29ace412ffac2ca02d186">script</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract base class for script runtimes.  <a href="#e7d1c30f4da29ace412ffac2ca02d186"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Represents a VRML Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>. <hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="07cf9595a5b7a144ec468ce6996f412f"></a><!-- doxytag: member="openvrml::script_node::field_value_map_t" ref="07cf9595a5b7a144ec468ce6996f412f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#07cf9595a5b7a144ec468ce6996f412f">openvrml::script_node::field_value_map_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A <code>std::map</code> that keys field values on their field name. 
<p>

</div>
</div><p>
<a class="anchor" name="de38f70354c7805cf201a846d8e3df54"></a><!-- doxytag: member="openvrml::script_node::event_listener_ptr" ref="de38f70354c7805cf201a846d8e3df54" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#de38f70354c7805cf201a846d8e3df54">openvrml::script_node::event_listener_ptr</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reference-counted smart pointer to an <a class="el" href="classopenvrml_1_1event__listener.html" title="Abstract base class of event listeners.">event_listener</a>. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="2bcd3406a601150db6eac4e37b0d0e2a"></a><!-- doxytag: member="openvrml::script_node::event_listener_map_t" ref="2bcd3406a601150db6eac4e37b0d0e2a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#2bcd3406a601150db6eac4e37b0d0e2a">openvrml::script_node::event_listener_map_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Map of event listeners. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="3f101ae495bc3d29c5e87928db74f394"></a><!-- doxytag: member="openvrml::script_node::eventout_ptr" ref="3f101ae495bc3d29c5e87928db74f394" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#3f101ae495bc3d29c5e87928db74f394">openvrml::script_node::eventout_ptr</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reference-counted smart pointer to an <code><a class="el" href="classopenvrml_1_1script__node_1_1eventout.html" title="An event_emitter along with the emitted value.">eventout</a></code>. 
<p>

</div>
</div><p>
<a class="anchor" name="fb39d24c728692f6492b3c356b0eb2cf"></a><!-- doxytag: member="openvrml::script_node::eventout_map_t" ref="fb39d24c728692f6492b3c356b0eb2cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#fb39d24c728692f6492b3c356b0eb2cf">openvrml::script_node::eventout_map_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Map of <code><a class="el" href="classopenvrml_1_1script__node_1_1eventout.html" title="An event_emitter along with the emitted value.">eventout</a></code> instances. 
<p>

</div>
</div><p>
<a class="anchor" name="cace9ddd54fc4b5b99086378c5234010"></a><!-- doxytag: member="openvrml::script_node::sfbool_listener" ref="cace9ddd54fc4b5b99086378c5234010" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#cace9ddd54fc4b5b99086378c5234010">openvrml::script_node::sfbool_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfbool.html" title="A boolean node field value.">sfbool</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="e42dad0a99b82f1a5a45d17eb03cab4d"></a><!-- doxytag: member="openvrml::script_node::sfcolor_listener" ref="e42dad0a99b82f1a5a45d17eb03cab4d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#e42dad0a99b82f1a5a45d17eb03cab4d">openvrml::script_node::sfcolor_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfcolor.html" title="A color node field value.">sfcolor</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="8032718c5ef92f9a46671e9a03e7a800"></a><!-- doxytag: member="openvrml::script_node::sfcolorrgba_listener" ref="8032718c5ef92f9a46671e9a03e7a800" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#8032718c5ef92f9a46671e9a03e7a800">openvrml::script_node::sfcolorrgba_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfcolorrgba.html" title="A color_rgba node field value.">sfcolorrgba</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="286f20583cc727cb7e34423df36fc74f"></a><!-- doxytag: member="openvrml::script_node::sffloat_listener" ref="286f20583cc727cb7e34423df36fc74f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#286f20583cc727cb7e34423df36fc74f">openvrml::script_node::sffloat_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sffloat.html" title="A single precision floating point node field value.">sffloat</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="b6d5a987933bbf1d73ede918a68f8e50"></a><!-- doxytag: member="openvrml::script_node::sfdouble_listener" ref="b6d5a987933bbf1d73ede918a68f8e50" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#b6d5a987933bbf1d73ede918a68f8e50">openvrml::script_node::sfdouble_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfdouble.html" title="A single precision doubleing point node field value.">sfdouble</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="ffb259787bd9558f41ff26aa4c1df18b"></a><!-- doxytag: member="openvrml::script_node::sfimage_listener" ref="ffb259787bd9558f41ff26aa4c1df18b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#ffb259787bd9558f41ff26aa4c1df18b">openvrml::script_node::sfimage_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfimage.html" title="A pixmap.">sfimage</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="902920ff83868243660f37fc77026f73"></a><!-- doxytag: member="openvrml::script_node::sfint32_listener" ref="902920ff83868243660f37fc77026f73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#902920ff83868243660f37fc77026f73">openvrml::script_node::sfint32_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfint32.html" title="A 32-bit integer node field value.">sfint32</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="d02b90d93aa70a67b2cfc213f525cb60"></a><!-- doxytag: member="openvrml::script_node::sfnode_listener" ref="d02b90d93aa70a67b2cfc213f525cb60" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#d02b90d93aa70a67b2cfc213f525cb60">openvrml::script_node::sfnode_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfnode.html" title="A node field value to hold a single node reference.">sfnode</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="e92a2ceb262e847c39a81dd64f2d72cf"></a><!-- doxytag: member="openvrml::script_node::sfrotation_listener" ref="e92a2ceb262e847c39a81dd64f2d72cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#e92a2ceb262e847c39a81dd64f2d72cf">openvrml::script_node::sfrotation_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfrotation.html" title="A rotation node field value.">sfrotation</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="6f368bf7c391032398a16c23d840802d"></a><!-- doxytag: member="openvrml::script_node::sfstring_listener" ref="6f368bf7c391032398a16c23d840802d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#6f368bf7c391032398a16c23d840802d">openvrml::script_node::sfstring_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfstring.html" title="A string node field value.">sfstring</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="007f662e8d7781d4320eed8f9710e6c6"></a><!-- doxytag: member="openvrml::script_node::sftime_listener" ref="007f662e8d7781d4320eed8f9710e6c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#007f662e8d7781d4320eed8f9710e6c6">openvrml::script_node::sftime_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sftime.html" title="A double precision floating point node field value.">sftime</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="449266487b8287b26d6a571d258f14f7"></a><!-- doxytag: member="openvrml::script_node::sfvec2f_listener" ref="449266487b8287b26d6a571d258f14f7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#449266487b8287b26d6a571d258f14f7">openvrml::script_node::sfvec2f_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfvec2f.html" title="A 2-component vector node field value.">sfvec2f</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="08a71598e3e6325156b7314d33775ea6"></a><!-- doxytag: member="openvrml::script_node::sfvec2d_listener" ref="08a71598e3e6325156b7314d33775ea6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#08a71598e3e6325156b7314d33775ea6">openvrml::script_node::sfvec2d_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfvec2d.html" title="A 2-component vector node field value.">sfvec2d</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="134e1effffd9eaa12f7a889cebe3ba46"></a><!-- doxytag: member="openvrml::script_node::sfvec3f_listener" ref="134e1effffd9eaa12f7a889cebe3ba46" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#134e1effffd9eaa12f7a889cebe3ba46">openvrml::script_node::sfvec3f_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfvec3f.html" title="A 3-component vector node field value.">sfvec3f</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="7eea4e56b8264932d7a4f85125c0a169"></a><!-- doxytag: member="openvrml::script_node::sfvec3d_listener" ref="7eea4e56b8264932d7a4f85125c0a169" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#7eea4e56b8264932d7a4f85125c0a169">openvrml::script_node::sfvec3d_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1sfvec3d.html" title="A 3-component vector node field value.">sfvec3d</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="467ade9890338057b5375a543efe8297"></a><!-- doxytag: member="openvrml::script_node::mfbool_listener" ref="467ade9890338057b5375a543efe8297" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#467ade9890338057b5375a543efe8297">openvrml::script_node::mfbool_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfbool.html" title="A bool array node field value.">mfbool</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="f4e8b357ce4e2ea0632a0ad0cdbec9e4"></a><!-- doxytag: member="openvrml::script_node::mfcolor_listener" ref="f4e8b357ce4e2ea0632a0ad0cdbec9e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#f4e8b357ce4e2ea0632a0ad0cdbec9e4">openvrml::script_node::mfcolor_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfcolor.html" title="A color array node field value.">mfcolor</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="3a48f6e423ea9c7dd3213017e803171f"></a><!-- doxytag: member="openvrml::script_node::mfcolorrgba_listener" ref="3a48f6e423ea9c7dd3213017e803171f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#3a48f6e423ea9c7dd3213017e803171f">openvrml::script_node::mfcolorrgba_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfcolorrgba.html" title="A color_rgba array node field value.">mfcolorrgba</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="3d02a941f997411c64aedaf60eada9ff"></a><!-- doxytag: member="openvrml::script_node::mffloat_listener" ref="3d02a941f997411c64aedaf60eada9ff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#3d02a941f997411c64aedaf60eada9ff">openvrml::script_node::mffloat_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mffloat.html" title="A float array node field value.">mffloat</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="c9f543871530b530cd43f5229f11806c"></a><!-- doxytag: member="openvrml::script_node::mfdouble_listener" ref="c9f543871530b530cd43f5229f11806c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#c9f543871530b530cd43f5229f11806c">openvrml::script_node::mfdouble_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfdouble.html" title="A double array node field value.">mfdouble</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="ac76b7218557317fccc60a4816c358d9"></a><!-- doxytag: member="openvrml::script_node::mfimage_listener" ref="ac76b7218557317fccc60a4816c358d9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#ac76b7218557317fccc60a4816c358d9">openvrml::script_node::mfimage_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfimage.html" title="A image array node field value.">mfimage</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="fa25fcfb77369be77fce00a3e67d4eb0"></a><!-- doxytag: member="openvrml::script_node::mfint32_listener" ref="fa25fcfb77369be77fce00a3e67d4eb0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#fa25fcfb77369be77fce00a3e67d4eb0">openvrml::script_node::mfint32_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfint32.html" title="An integer array node field value.">mfint32</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="4e6d5bdc182640582771e4a53090174c"></a><!-- doxytag: member="openvrml::script_node::mfnode_listener" ref="4e6d5bdc182640582771e4a53090174c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#4e6d5bdc182640582771e4a53090174c">openvrml::script_node::mfnode_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfnode.html" title="A node reference array node field value.">mfnode</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="35267b70072378c809ba40abe3e4f58e"></a><!-- doxytag: member="openvrml::script_node::mfrotation_listener" ref="35267b70072378c809ba40abe3e4f58e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#35267b70072378c809ba40abe3e4f58e">openvrml::script_node::mfrotation_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfrotation.html" title="A rotation array node field value.">mfrotation</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="23356fb0782b35c950ece56e8e1bd624"></a><!-- doxytag: member="openvrml::script_node::mfstring_listener" ref="23356fb0782b35c950ece56e8e1bd624" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#23356fb0782b35c950ece56e8e1bd624">openvrml::script_node::mfstring_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfstring.html" title="A string array node field value.">mfstring</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="fd2c9d5f7d4a6a3e18ee292d8f5d0fd5"></a><!-- doxytag: member="openvrml::script_node::mftime_listener" ref="fd2c9d5f7d4a6a3e18ee292d8f5d0fd5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#fd2c9d5f7d4a6a3e18ee292d8f5d0fd5">openvrml::script_node::mftime_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mftime.html" title="A double array node field value.">mftime</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="cc72cd4b2f6a029ea81464e298637684"></a><!-- doxytag: member="openvrml::script_node::mfvec2f_listener" ref="cc72cd4b2f6a029ea81464e298637684" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#cc72cd4b2f6a029ea81464e298637684">openvrml::script_node::mfvec2f_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfvec2f.html" title="A 2-component vector array node field value.">mfvec2f</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="2164724dd5e63768d32b3cdf9d5a2a4e"></a><!-- doxytag: member="openvrml::script_node::mfvec2d_listener" ref="2164724dd5e63768d32b3cdf9d5a2a4e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#2164724dd5e63768d32b3cdf9d5a2a4e">openvrml::script_node::mfvec2d_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfvec2d.html" title="A 2-component vector array node field value.">mfvec2d</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="d6b66eb7d29a2fbcca14f25889fa8a98"></a><!-- doxytag: member="openvrml::script_node::mfvec3f_listener" ref="d6b66eb7d29a2fbcca14f25889fa8a98" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#d6b66eb7d29a2fbcca14f25889fa8a98">openvrml::script_node::mfvec3f_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfvec3f.html" title="A 3-component vector array node field value.">mfvec3f</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="fcc6d5d193a1b54243ea7da466f8bd77"></a><!-- doxytag: member="openvrml::script_node::mfvec3d_listener" ref="fcc6d5d193a1b54243ea7da466f8bd77" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#fcc6d5d193a1b54243ea7da466f8bd77">openvrml::script_node::mfvec3d_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code><a class="el" href="classopenvrml_1_1mfvec3d.html" title="A 3-component vector array node field value.">mfvec3d</a></code> event listener. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="2d7746df8498284e5b74fcc39c067ed1"></a><!-- doxytag: member="openvrml::script_node::script_node" ref="2d7746df8498284e5b74fcc39c067ed1" args="(script_node_metatype &amp;class_, const boost::shared_ptr&lt; openvrml::scope &gt; &amp;scope, const node_interface_set &amp;interfaces, const initial_value_map &amp;initial_values)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">openvrml::script_node::script_node           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1script__node__metatype.html">script_node_metatype</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>class_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const boost::shared_ptr&lt; <a class="el" href="classopenvrml_1_1scope.html">openvrml::scope</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>scope</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceopenvrml.html#4c88b862d45625d0cbeb839d4c4e9ec8">node_interface_set</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>interfaces</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceopenvrml.html#d650f8bae74971c2e692a7fdff2bd57d">initial_value_map</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>initial_values</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (  <a class="el" href="classopenvrml_1_1unsupported__interface.html">unsupported_interface</a>  ,   std::bad_cast  ,   std::bad_alloc  ,   std::invalid_argument  )</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct. 
<p>
Unlike other concrete <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> types, which are always instantiated via <code><a class="el" href="classopenvrml_1_1node__type.html#5a20ae182bc5eddacea19c06acdca2d0" title="Create a new node with this node_type.">node_type::create_node</a></code>, the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> constructor is called directly when creating a new <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> from scratch. However, a <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> can be duplicated (or &ldquo;cloned&rdquo;) by calling <code><a class="el" href="classopenvrml_1_1node__type.html#5a20ae182bc5eddacea19c06acdca2d0" title="Create a new node with this node_type.">node_type::create_node</a></code> on <code><a class="el" href="classopenvrml_1_1node.html#a48ade3922d3b0418021fb493c95afc6" title="The type information object for the node.">type</a></code> of a <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> instance. This provides a consistent interface for cloning any <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>, regardless of its type. OpenVRML uses this internally when instantiating <code>PROTOs</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>class_</em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1script__node__metatype.html" title="Class object for script_nodes.">script_node_metatype</a></code>. Typically there is one <code><a class="el" href="classopenvrml_1_1script__node__metatype.html" title="Class object for script_nodes.">script_node_metatype</a></code> per <a class="el" href="classopenvrml_1_1browser.html" title="Encapsulates a VRML browser.">browser</a> instance. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="classopenvrml_1_1scope.html" title="The scope class keeps track of defined nodes and prototypes.">scope</a></em>&nbsp;</td><td>the <code><a class="el" href="classopenvrml_1_1scope.html" title="The scope class keeps track of defined nodes and prototypes.">scope</a></code> to which the <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> should belong. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>interfaces</em>&nbsp;</td><td>a <code>node_interface_set</code> containing specifications of user-defined <code>fields</code>, <code>eventIns</code>, and <code>eventOuts</code> particular to the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> instance. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>initial_values</em>&nbsp;</td><td>a map of initial values for <code>fields</code> of the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classopenvrml_1_1unsupported__interface.html" title="Exception to indicate that a node interface is not supported.">unsupported_interface</a></em>&nbsp;</td><td>if <code>initial_values</code> specifies a field that is not supported by the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>std::bad_cast</em>&nbsp;</td><td>if <code>initial_values</code> includes a field value that is the wrong type for the specified field. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>std::bad_alloc</em>&nbsp;</td><td>if memory allocation fails. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>std::invalid_argument</em>&nbsp;</td><td>if:<ul>
<li><code>interfaces</code> includes an <code>exposedField</code> specification.</li><li><code>interfaces</code> includes an interface specification that duplicates an existing Script <code><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></code> interface.</li><li><code>initial_values</code> is missing an initial value for a user-defined field in <code>interfaces</code>. </li></ul>
</td></tr>
  </table>
</dl>

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

<p>
Destroy. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="514f5ef5786ddce9a7012c2592a24941"></a><!-- doxytag: member="openvrml::script_node::create_listener" ref="514f5ef5786ddce9a7012c2592a24941" args="(field_value::type_id type, const std::string &amp;id, script_node &amp;node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const boost::shared_ptr&lt; <a class="el" href="classopenvrml_1_1event__listener.html">openvrml::event_listener</a> &gt; openvrml::script_node::create_listener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">field_value::type_id</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1script__node.html">script_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (  std::bad_alloc  )<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> event listener. 
<p>
<p><b>For internal use only.</b></p>
<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>type</em>&nbsp;</td><td>the type of listener to create. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>id</em>&nbsp;</td><td><code>eventIn</code> identifier. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></em>&nbsp;</td><td>the containing <a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a>.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> event listener.</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::bad_alloc</em>&nbsp;</td><td>if memory allocation fails. </td></tr>
  </table>
</dl>
</p>

</div>
</div><p>
<a class="anchor" name="1394f2d90b5bbf176950f9baa75ea519"></a><!-- doxytag: member="openvrml::script_node::create_emitter" ref="1394f2d90b5bbf176950f9baa75ea519" args="(script_node &amp;node, const field_value &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::auto_ptr&lt; <a class="el" href="classopenvrml_1_1event__emitter.html">openvrml::event_emitter</a> &gt; openvrml::script_node::create_emitter           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1script__node.html">script_node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (  std::bad_alloc  )<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> event emitter. 
<p>
<p><b>For internal use only.</b></p>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></em>&nbsp;</td><td>the containing <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>value</em>&nbsp;</td><td>the <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> field value associated with the emitter.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a Script <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> event emitter.</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::bad_alloc</em>&nbsp;</td><td>if memory allocation fails. </td></tr>
  </table>
</dl>
</p>

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

<p>
Update the <a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a> for the current time. 
<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>current_time</em>&nbsp;</td><td>the current time. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8bbb7259b7f4e81abd57b09b907eb171"></a><!-- doxytag: member="openvrml::script_node::event_listener_map" ref="8bbb7259b7f4e81abd57b09b907eb171" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classopenvrml_1_1script__node.html#2bcd3406a601150db6eac4e37b0d0e2a">openvrml::script_node::event_listener_map_t</a> &amp; openvrml::script_node::event_listener_map           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Event listener map accessor. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the event listener map. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c67f837acf8ea55b77564eae137745e8"></a><!-- doxytag: member="openvrml::script_node::field_value_map" ref="c67f837acf8ea55b77564eae137745e8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classopenvrml_1_1script__node.html#07cf9595a5b7a144ec468ce6996f412f">openvrml::script_node::field_value_map_t</a> &amp; openvrml::script_node::field_value_map           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Field value map accessor. 
<p>
field value map.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the field value map. </dd></dl>

</div>
</div><p>
<a class="anchor" name="4f3b24a14de9574847e072cb2a85ef64"></a><!-- doxytag: member="openvrml::script_node::eventout_map" ref="4f3b24a14de9574847e072cb2a85ef64" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classopenvrml_1_1script__node.html#fb39d24c728692f6492b3c356b0eb2cf">openvrml::script_node::eventout_map_t</a> &amp; openvrml::script_node::eventout_map           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>eventOut</code> map accessor. 
<p>
<code>eventOut</code> map.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the <code>eventOut</code> map. </dd></dl>

</div>
</div><p>
<a class="anchor" name="f1956c32bfdf35d6e39e4f8362738d06"></a><!-- doxytag: member="openvrml::script_node::create_script" ref="f1956c32bfdf35d6e39e4f8362738d06" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::auto_ptr&lt; <a class="el" href="classopenvrml_1_1script.html">openvrml::script</a> &gt; openvrml::script_node::create_script           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (  <a class="el" href="classopenvrml_1_1no__alternative__url.html">no_alternative_url</a>  ,   std::bad_alloc  )<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> object. 
<p>
<p><b>For internal use only.</b></p>
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> object. </dd></dl>
</p>

</div>
</div><p>
<a class="anchor" name="fa0bf5d6c1b8d0cea37ed408279159fe"></a><!-- doxytag: member="openvrml::script_node::assign_with_self_ref_check" ref="fa0bf5d6c1b8d0cea37ed408279159fe" args="(const sfnode &amp;, sfnode &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::script_node::assign_with_self_ref_check           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>retval</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const  throw ()<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special assignment function to take into account the fact that Script nodes can be self-referential. 
<p>
<p><b>For internal use only.</b></p>
<p>
&ldquo;Undo&rdquo; the refcounting appropriately: decrement the refcount on any self-references we acquire ownership of and increment the refcount on any self-references for which ownership is relinquished.<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>inval</em>&nbsp;</td><td>input <code><a class="el" href="classopenvrml_1_1sfnode.html" title="A node field value to hold a single node reference.">sfnode</a></code>. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>retval</em>&nbsp;</td><td>output <code><a class="el" href="classopenvrml_1_1sfnode.html" title="A node field value to hold a single node reference.">sfnode</a></code>. </td></tr>
  </table>
</dl>
</p>

</div>
</div><p>
<a class="anchor" name="d44f6f170e7e55836721b0704bcfd417"></a><!-- doxytag: member="openvrml::script_node::assign_with_self_ref_check" ref="d44f6f170e7e55836721b0704bcfd417" args="(const mfnode &amp;, mfnode &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::script_node::assign_with_self_ref_check           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1mfnode.html">mfnode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1mfnode.html">mfnode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>retval</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const  throw ()<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special assignment function to take into account the fact that Script nodes can be self referential. 
<p>
<p><b>For internal use only.</b></p>
<p>
&ldquo;Undo&rdquo; the refcounting appropriately: decrement the refcount on any self-references we acquire ownership of and increment the refcount on any self-references for which ownership is relinquished.<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>inval</em>&nbsp;</td><td>input <code><a class="el" href="classopenvrml_1_1mfnode.html" title="A node reference array node field value.">mfnode</a></code>. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>retval</em>&nbsp;</td><td>output <code><a class="el" href="classopenvrml_1_1mfnode.html" title="A node reference array node field value.">mfnode</a></code>. </td></tr>
  </table>
</dl>
</p>

</div>
</div><p>
<a class="anchor" name="8634984941c3ecb30abed7992c139eda"></a><!-- doxytag: member="openvrml::script_node::to_script" ref="8634984941c3ecb30abed7992c139eda" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html">openvrml::script_node</a> * openvrml::script_node::to_script           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a pointer to this <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>. 
<p>
<p><b>For internal use only.</b></p>
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to this <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>. </dd></dl>
</p>

<p>Reimplemented from <a class="el" href="classopenvrml_1_1node.html#ebf02d09562cb2f67fa0044f3e215364">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="42e879355f5f4b6a3718ffbde4bcf557"></a><!-- doxytag: member="openvrml::script_node::do_initialize" ref="42e879355f5f4b6a3718ffbde4bcf557" args="(double timestamp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::script_node::do_initialize           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>timestamp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (  std::bad_alloc  )<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize. 
<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>timestamp</em>&nbsp;</td><td>the current time.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::bad_alloc</em>&nbsp;</td><td>if memory allocation fails. </td></tr>
  </table>
</dl>

<p>Reimplemented from <a class="el" href="classopenvrml_1_1node.html#71703a9dac002e18054462a7b91bb1ad">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f5135c7b9858fc7b1f16112a839bd0a"></a><!-- doxytag: member="openvrml::script_node::do_field" ref="5f5135c7b9858fc7b1f16112a839bd0a" args="(const std::string &amp;id) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classopenvrml_1_1field__value.html">openvrml::field_value</a> &amp; openvrml::script_node::do_field           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw (  <a class="el" href="classopenvrml_1_1unsupported__interface.html">unsupported_interface</a>  )<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the value of a field. 
<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>the name of the field to get.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the value for field <code>id</code>.</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classopenvrml_1_1unsupported__interface.html" title="Exception to indicate that a node interface is not supported.">unsupported_interface</a></em>&nbsp;</td><td>if the <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> has no field <code>id</code>. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1node.html#776cd5dd0cbc8b73556e4478f9f730c9">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="a98c40760c62938c6239a6ec23654e37"></a><!-- doxytag: member="openvrml::script_node::do_event_listener" ref="a98c40760c62938c6239a6ec23654e37" args="(const std::string &amp;id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1event__listener.html">openvrml::event_listener</a> &amp; openvrml::script_node::do_event_listener           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (  <a class="el" href="classopenvrml_1_1unsupported__interface.html">unsupported_interface</a>  )<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an event listener. 
<p>
This method is called by <code><a class="el" href="classopenvrml_1_1node.html#ecb0c03f4ececc99a30a418bb696baa2" title="Get an event listener.">node::event_listener</a></code>. Subclasses must implement this method.<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><code>eventIn</code> identifier.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the event listener.</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classopenvrml_1_1unsupported__interface.html" title="Exception to indicate that a node interface is not supported.">unsupported_interface</a></em>&nbsp;</td><td>if the <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> has no <code>eventIn</code> <code>id</code>. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1node.html#285dc70d8aa3f03fb244e5df0f0de7b9">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="14a872f7d7809cb7fb3e09301eba540f"></a><!-- doxytag: member="openvrml::script_node::do_event_emitter" ref="14a872f7d7809cb7fb3e09301eba540f" args="(const std::string &amp;id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1event__emitter.html">openvrml::event_emitter</a> &amp; openvrml::script_node::do_event_emitter           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (  <a class="el" href="classopenvrml_1_1unsupported__interface.html">unsupported_interface</a>  )<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an event emitter. 
<p>
This method is called by <code><a class="el" href="classopenvrml_1_1node.html#3eb387c15add30a1cd2b73da13e0c171" title="Get an event emitter.">node::event_emitter</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>id</em>&nbsp;</td><td><code>eventOut</code> identifier.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the event emitter.</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classopenvrml_1_1unsupported__interface.html" title="Exception to indicate that a node interface is not supported.">unsupported_interface</a></em>&nbsp;</td><td>if the <code><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></code> has no <code>eventOut</code> <code>id</code>. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1node.html#5f65f5414aef33769853899bfa0d19d0">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="11e5cd2f00ac2ed41b27a34a18362557"></a><!-- doxytag: member="openvrml::script_node::do_shutdown" ref="11e5cd2f00ac2ed41b27a34a18362557" args="(double timestamp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::script_node::do_shutdown           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>timestamp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by <code><a class="el" href="classopenvrml_1_1node.html#6cfc6bbd1a93b2b3fa1ecc6d4ced06a0" title="Shut down the node.">node::shutdown</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>timestamp</em>&nbsp;</td><td>the current time. </td></tr>
  </table>
</dl>

<p>Reimplemented from <a class="el" href="classopenvrml_1_1node.html#43aa0cb89810330853eb7861e65dc264">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="1f029e29f0f003405611c26da828808b"></a><!-- doxytag: member="openvrml::script_node::do_render_child" ref="1f029e29f0f003405611c26da828808b" args="(viewer &amp;v, rendering_context context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::script_node::do_render_child           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1viewer.html">viewer</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classopenvrml_1_1rendering__context.html">rendering_context</a>&nbsp;</td>
          <td class="paramname"> <em>context</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>node::render_child</code> implementation. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>v</em>&nbsp;</td><td><a class="el" href="classopenvrml_1_1viewer.html" title="Map the scene graph to the underlying graphics library.">viewer</a> implementation responsible for actually doing the drawing. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>context</em>&nbsp;</td><td>generic context argument; holds things like the accumulated modelview transform. </td></tr>
  </table>
</dl>

<p>Reimplemented from <a class="el" href="classopenvrml_1_1child__node.html#1f8e9bffc0c23f5bf69de4273b9c92b3">openvrml::child_node</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="e7d1c30f4da29ace412ffac2ca02d186"></a><!-- doxytag: member="openvrml::script_node::script" ref="e7d1c30f4da29ace412ffac2ca02d186" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class openvrml::script_node::script<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Abstract base class for script runtimes. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="9a6992c741d6d2d02435225af145ded3"></a><!-- doxytag: member="openvrml::script_node::script_factory_registry_" ref="9a6992c741d6d2d02435225af145ded3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__factory__registry.html">openvrml::script_factory_registry</a> <a class="el" href="classopenvrml_1_1script__node.html#9a6992c741d6d2d02435225af145ded3">openvrml::script_node::script_factory_registry_</a><code> [static, private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Registry of <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> engine modules. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="1b29a18bf419fc6f3507d89cee5d20f6"></a><!-- doxytag: member="openvrml::script_node::type_" ref="1b29a18bf419fc6f3507d89cee5d20f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node_1_1script__node__type.html">openvrml::script_node::script_node_type</a> <a class="el" href="classopenvrml_1_1script__node.html#1b29a18bf419fc6f3507d89cee5d20f6">openvrml::script_node::type_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type object for the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> instance. 
<p>
<p><b>For internal use only.</b></p>
<p>
Script <code><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></code> <code><a class="el" href="classopenvrml_1_1node__type.html" title="Type information object for nodes.">node_type</a>s</code> are significantly different from other <code><a class="el" href="classopenvrml_1_1node__type.html" title="Type information object for nodes.">node_type</a>s</code>. While most <code>node_types</code> are shared by the <code><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></code> instances they spawn, the <code><a class="el" href="classopenvrml_1_1script__node_1_1script__node__type.html" title="Type objects for script_nodes.">script_node_type</a></code> is unique to a <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> instance, and it shares the <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code>'s lifetime. This reflects the fact that Script <code><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>s</code> in VRML get their functionality by the addition of <code>fields</code>, <code>eventIns</code>, and <code>eventOuts</code> on a per-instance basis.<p>
For <code><a class="el" href="classopenvrml_1_1script__node.html" title="Represents a VRML Script node.">script_node</a></code> instances, <code>node::node_type</code> is an alias for the <code><a class="el" href="classopenvrml_1_1script__node_1_1script__node__type.html" title="Type objects for script_nodes.">script_node_type</a></code> object. </p>

<p>Reimplemented from <a class="el" href="classopenvrml_1_1node.html#555c1add19cf9f556b3104cd9b3d5e66">openvrml::node</a>.</p>

</div>
</div><p>
<a class="anchor" name="9c2b2523861ed8e1d3addfc5cef51a21"></a><!-- doxytag: member="openvrml::script_node::set_metadata_listener_" ref="9c2b2523861ed8e1d3addfc5cef51a21" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node_1_1set__metadata__listener.html">openvrml::script_node::set_metadata_listener</a> <a class="el" href="classopenvrml_1_1script__node.html#9c2b2523861ed8e1d3addfc5cef51a21">openvrml::script_node::set_metadata_listener_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>set_metadata</code> <code>eventIn</code> handler. 
<p>

</div>
</div><p>
<a class="anchor" name="258750317944cd2a8183196fea2342b0"></a><!-- doxytag: member="openvrml::script_node::metadata_" ref="258750317944cd2a8183196fea2342b0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> <a class="el" href="classopenvrml_1_1script__node.html#258750317944cd2a8183196fea2342b0">openvrml::script_node::metadata_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>metadata</code> field value. 
<p>

</div>
</div><p>
<a class="anchor" name="7a6aac7b520c2f69f47ff9959219ec58"></a><!-- doxytag: member="openvrml::script_node::metadata_changed_emitter_" ref="7a6aac7b520c2f69f47ff9959219ec58" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node_1_1metadata__changed__emitter.html">openvrml::script_node::metadata_changed_emitter</a> <a class="el" href="classopenvrml_1_1script__node.html#7a6aac7b520c2f69f47ff9959219ec58">openvrml::script_node::metadata_changed_emitter_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>metadata_changed</code> <code>eventOut</code> emitter. 
<p>

</div>
</div><p>
<a class="anchor" name="f66f7b43aceec7218a8ff729d95b3d4a"></a><!-- doxytag: member="openvrml::script_node::direct_output" ref="f66f7b43aceec7218a8ff729d95b3d4a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1sfbool.html">openvrml::sfbool</a> <a class="el" href="classopenvrml_1_1script__node.html#f66f7b43aceec7218a8ff729d95b3d4a">openvrml::script_node::direct_output</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>directOutput</code> field. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="d121a008b1b0bd8a320403e2f2098c80"></a><!-- doxytag: member="openvrml::script_node::must_evaluate" ref="d121a008b1b0bd8a320403e2f2098c80" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1sfbool.html">openvrml::sfbool</a> <a class="el" href="classopenvrml_1_1script__node.html#d121a008b1b0bd8a320403e2f2098c80">openvrml::script_node::must_evaluate</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>mustEvaluate</code> field. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="8e7303ebed2c3378732106f971471e90"></a><!-- doxytag: member="openvrml::script_node::set_url_listener" ref="8e7303ebed2c3378732106f971471e90" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node_1_1set__url__listener__t.html">openvrml::script_node::set_url_listener_t</a> <a class="el" href="classopenvrml_1_1script__node.html#8e7303ebed2c3378732106f971471e90">openvrml::script_node::set_url_listener</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>set_url</code> <code>eventIn</code> handler. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="409009b3bfdb8be1805e683782e30dc7"></a><!-- doxytag: member="openvrml::script_node::url_" ref="409009b3bfdb8be1805e683782e30dc7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1mfstring.html">openvrml::mfstring</a> <a class="el" href="classopenvrml_1_1script__node.html#409009b3bfdb8be1805e683782e30dc7">openvrml::script_node::url_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<code>url</code> <code>exposedField</code>. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="203bbf7b82b6f1a03f7e2de170c7081a"></a><!-- doxytag: member="openvrml::script_node::url_changed_emitter_" ref="203bbf7b82b6f1a03f7e2de170c7081a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node_1_1url__changed__emitter.html">openvrml::script_node::url_changed_emitter</a> <a class="el" href="classopenvrml_1_1script__node.html#203bbf7b82b6f1a03f7e2de170c7081a">openvrml::script_node::url_changed_emitter_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
url_changed eventOut emitter. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="b5ccfd76a6fe00f3db6df063660b14b6"></a><!-- doxytag: member="openvrml::script_node::field_value_map_" ref="b5ccfd76a6fe00f3db6df063660b14b6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#07cf9595a5b7a144ec468ce6996f412f">openvrml::script_node::field_value_map_t</a> <a class="el" href="classopenvrml_1_1script__node.html#b5ccfd76a6fe00f3db6df063660b14b6">openvrml::script_node::field_value_map_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maps user-defined field names to their values. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="0bf4f7bc552e3b3c2caa5f04a0a00a12"></a><!-- doxytag: member="openvrml::script_node::event_listener_map_" ref="0bf4f7bc552e3b3c2caa5f04a0a00a12" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#2bcd3406a601150db6eac4e37b0d0e2a">openvrml::script_node::event_listener_map_t</a> <a class="el" href="classopenvrml_1_1script__node.html#0bf4f7bc552e3b3c2caa5f04a0a00a12">openvrml::script_node::event_listener_map_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Map of event listeners. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="ab44c52a18ce25fa10a718a6da43b98c"></a><!-- doxytag: member="openvrml::script_node::eventout_map_" ref="ab44c52a18ce25fa10a718a6da43b98c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script__node.html#fb39d24c728692f6492b3c356b0eb2cf">openvrml::script_node::eventout_map_t</a> <a class="el" href="classopenvrml_1_1script__node.html#ab44c52a18ce25fa10a718a6da43b98c">openvrml::script_node::eventout_map_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Map of <a class="el" href="classopenvrml_1_1script__node_1_1eventout.html" title="An event_emitter along with the emitted value.">eventout</a> instances. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="dcf72e71f29e8dfe1fe99fa48098a348"></a><!-- doxytag: member="openvrml::script_node::script_" ref="dcf72e71f29e8dfe1fe99fa48098a348" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1script.html">openvrml::script</a> * <a class="el" href="classopenvrml_1_1script__node.html#dcf72e71f29e8dfe1fe99fa48098a348">openvrml::script_node::script_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A pointer to a <a class="el" href="classopenvrml_1_1script.html" title="Abstract class implemented by scripting language bindings.">script</a> object. 
<p>
<p><b>For internal use only.</b></p>
<p>
</p>

</div>
</div><p>
<a class="anchor" name="f4bc55dedfef0e093542d0590280997e"></a><!-- doxytag: member="openvrml::script_node::events_received" ref="f4bc55dedfef0e093542d0590280997e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classopenvrml_1_1script__node.html#f4bc55dedfef0e093542d0590280997e">openvrml::script_node::events_received</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A count of the number of events received since <code><a class="el" href="classopenvrml_1_1script__node.html#d28ee1dafbc3d8e42cfe661c8eb05135" title="Update the script_node for the current time.">update</a></code> was called. 
<p>
<p><b>For internal use only.</b></p>
<p>
</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:21 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>