<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>OpenVRML: openvrml::sfnode 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceopenvrml.html">openvrml</a>::<a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> </div> </div> <div class="contents"> <h1>openvrml::sfnode Class Reference</h1><!-- doxytag: class="openvrml::sfnode" --><!-- doxytag: inherits="openvrml::field_value" -->A <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> field value to hold a single <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> reference. <a href="#_details">More...</a> <p> <code>#include <openvrml/field_value.h></code> <p> <div class="dynheader"> Inheritance diagram for openvrml::sfnode:</div> <div class="dynsection"> <p><center><img src="classopenvrml_1_1sfnode__inherit__graph.png" border="0" usemap="#openvrml_1_1sfnode__inherit__map" alt="Inheritance graph"></center> <map name="openvrml_1_1sfnode__inherit__map"> <area shape="rect" href="classopenvrml_1_1exposedfield.html" title="openvrml::exposedfield\< sfnode \>" alt="" coords="5,160,232,189"><area shape="rect" href="classopenvrml_1_1field__value.html" title="Abstract base class for the VRML field types." alt="" coords="44,5,193,35"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classopenvrml_1_1sfnode-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::intrusive_ptr<br class="typebreak"> < <a class="el" href="classopenvrml_1_1node.html">node</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type of <em>value</em>. <a href="#f342860deaa5a7ce2546eaa767c24c9d"></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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#da20e7ecc0a4ab2ace14e5e9b6697d85">sfnode</a> (const <a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a> &<a class="el" href="classopenvrml_1_1node.html">node</a>=<a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a>(0)) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct. <a href="#da20e7ecc0a4ab2ace14e5e9b6697d85"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#4aa313330d8bbb8e96d5f71bf317ce32">sfnode</a> (const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &sfn)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a copy. <a href="#4aa313330d8bbb8e96d5f71bf317ce32"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#cb53339de507964e9a56251afb9eef77">~sfnode</a> () throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy. <a href="#cb53339de507964e9a56251afb9eef77"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#0cefdaf171bdc77373e8fb8f776e1fb8">operator=</a> (const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &sfn) throw ( std::bad_alloc )</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assign. <a href="#0cefdaf171bdc77373e8fb8f776e1fb8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#2477e30c019a91141419eb1316965e4f">value</a> () const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Access. <a href="#2477e30c019a91141419eb1316965e4f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#7fda85be22260c608187199aea9b3733">value</a> (const <a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a> &val) throw ( std::bad_alloc )</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Mutate. <a href="#7fda85be22260c608187199aea9b3733"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#b70f83145eeac8066699b1915ae33fa4">swap</a> (<a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &sfn) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Swap. <a href="#b70f83145eeac8066699b1915ae33fa4"></a><br></td></tr> <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">type_id</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#0cc0e603c35be47c1129ca238c0528b9">field_value_type_id</a> = sfnode_id</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef" title="Used to identify field_value types.">field_value::type_id</a></code> for this class. <a href="#0cc0e603c35be47c1129ca238c0528b9"></a><br></td></tr> <tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::auto_ptr<br class="typebreak"> < <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#8a8f51e0001e6e34becdac0f1661f030">do_clone</a> () const throw ( std::bad_alloc )</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Polymorphically construct a copy. <a href="#8a8f51e0001e6e34becdac0f1661f030"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#f23c23eafec7ebfc3af494175341e4b2">do_assign</a> (const <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> &value) throw ( std::bad_cast )</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual assignment. <a href="#f23c23eafec7ebfc3af494175341e4b2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">type_id</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#afd5188ae9f4fca09c4a4cbbcbef277d">do_type</a> () const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef" title="Used to identify field_value types.">field_value::type_id</a> associated with this class. <a href="#afd5188ae9f4fca09c4a4cbbcbef277d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#0148488fc5ad6a14626b8cefbd8caeaf">print</a> (std::ostream &) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print to an output stream. <a href="#0148488fc5ad6a14626b8cefbd8caeaf"></a><br></td></tr> <tr><td colspan="2"><br><h2>Related Functions</h2></td></tr> <tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#0699bfda5bd77585ef13a7c2f84a87b9">operator==</a> (const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &lhs, const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &rhs) throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare for equality. <a href="#0699bfda5bd77585ef13a7c2f84a87b9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#4f9c25dfe187fe75302c242d0362b79d">operator!=</a> (const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &lhs, const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> &rhs) throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare for inequality. <a href="#4f9c25dfe187fe75302c242d0362b79d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">template<> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1sfnode.html#224a4ff0ad6b8adc421a627ed3a287ad">swap</a> (<a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> &a, <a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> &b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Swap the values of <code>a</code> and <code>b</code>. <a href="#224a4ff0ad6b8adc421a627ed3a287ad"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> field value to hold a single <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> reference. <p> <dl class="user" compact><dt><b>Model of</b></dt><dd><a class="el" href="structopenvrml_1_1FieldValueConcept.html">Field Value</a> </dd></dl> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="f342860deaa5a7ce2546eaa767c24c9d"></a><!-- doxytag: member="openvrml::sfnode::value_type" ref="f342860deaa5a7ce2546eaa767c24c9d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">openvrml::sfnode::value_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Type of <em>value</em>. <p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="da20e7ecc0a4ab2ace14e5e9b6697d85"></a><!-- doxytag: member="openvrml::sfnode::sfnode" ref="da20e7ecc0a4ab2ace14e5e9b6697d85" args="(const value_type &node=value_type(0))" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">openvrml::sfnode::sfnode </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a> & </td> <td class="paramname"> <em>node</em> = <code><a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a>(0)</code> </td> <td> ) </td> <td> throw ()<code> [explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em><a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a></em> </td><td>a pointer to a <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="4aa313330d8bbb8e96d5f71bf317ce32"></a><!-- doxytag: member="openvrml::sfnode::sfnode" ref="4aa313330d8bbb8e96d5f71bf317ce32" args="(const sfnode &sfn)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">openvrml::sfnode::sfnode </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>sfn</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Construct a copy. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>sfn</em> </td><td>the instance to copy. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="cb53339de507964e9a56251afb9eef77"></a><!-- doxytag: member="openvrml::sfnode::~sfnode" ref="cb53339de507964e9a56251afb9eef77" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">openvrml::sfnode::~sfnode </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="0cefdaf171bdc77373e8fb8f776e1fb8"></a><!-- doxytag: member="openvrml::sfnode::operator=" ref="0cefdaf171bdc77373e8fb8f776e1fb8" args="(const sfnode &sfn)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> & openvrml::sfnode::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>sfn</em> </td> <td> ) </td> <td> throw ( std::bad_alloc )</td> </tr> </table> </div> <div class="memdoc"> <p> Assign. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>sfn</em> </td><td>the value to assign.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the instance.</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> </td><td>if memory allocation fails. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="2477e30c019a91141419eb1316965e4f"></a><!-- doxytag: member="openvrml::sfnode::value" ref="2477e30c019a91141419eb1316965e4f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">openvrml::sfnode::value_type</a> & openvrml::sfnode::value </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const throw ()</td> </tr> </table> </div> <div class="memdoc"> <p> Access. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a> pointer. </dd></dl> <p>Reimplemented from <a class="el" href="classopenvrml_1_1field__value.html#f302786278ee7c545a19ecefd8eb7137">openvrml::field_value</a>.</p> </div> </div><p> <a class="anchor" name="7fda85be22260c608187199aea9b3733"></a><!-- doxytag: member="openvrml::sfnode::value" ref="7fda85be22260c608187199aea9b3733" args="(const value_type &val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::sfnode::value </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html#f342860deaa5a7ce2546eaa767c24c9d">value_type</a> & </td> <td class="paramname"> <em>val</em> </td> <td> ) </td> <td> throw ( std::bad_alloc )</td> </tr> </table> </div> <div class="memdoc"> <p> Mutate. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>val</em> </td><td>the new value.</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> </td><td>if memory allocation fails. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="b70f83145eeac8066699b1915ae33fa4"></a><!-- doxytag: member="openvrml::sfnode::swap" ref="b70f83145eeac8066699b1915ae33fa4" args="(sfnode &sfn)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::sfnode::swap </td> <td>(</td> <td class="paramtype"><a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>sfn</em> </td> <td> ) </td> <td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p> Swap. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>sfn</em> </td><td>the value to swap with this one. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="8a8f51e0001e6e34becdac0f1661f030"></a><!-- doxytag: member="openvrml::sfnode::do_clone" ref="8a8f51e0001e6e34becdac0f1661f030" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::auto_ptr< <a class="el" href="classopenvrml_1_1field__value.html">openvrml::field_value</a> > openvrml::sfnode::do_clone </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const throw ( std::bad_alloc )<code> [private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Polymorphically construct a copy. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to a copy of the object.</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> </td><td>if memory allocation fails. </td></tr> </table> </dl> <p>Implements <a class="el" href="classopenvrml_1_1field__value.html#6dc4206bab533cc72e980c059cbafe5f">openvrml::field_value</a>.</p> </div> </div><p> <a class="anchor" name="f23c23eafec7ebfc3af494175341e4b2"></a><!-- doxytag: member="openvrml::sfnode::do_assign" ref="f23c23eafec7ebfc3af494175341e4b2" args="(const field_value &value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> & openvrml::sfnode::do_assign </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1field__value.html">field_value</a> & </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td> throw ( std::bad_cast )<code> [private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Virtual assignment. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>the new value to give the object.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object.</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_cast</em> </td><td>if <code>value</code> is not an <a class="el" href="classopenvrml_1_1sfnode.html" title="A node field value to hold a single node reference.">sfnode</a>. </td></tr> </table> </dl> <p>Implements <a class="el" href="classopenvrml_1_1field__value.html#d0113255585a9ceadd7ac6ccd383e88f">openvrml::field_value</a>.</p> </div> </div><p> <a class="anchor" name="afd5188ae9f4fca09c4a4cbbcbef277d"></a><!-- doxytag: member="openvrml::sfnode::do_type" ref="afd5188ae9f4fca09c4a4cbbcbef277d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">openvrml::field_value::type_id</a> openvrml::sfnode::do_type </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const throw ()<code> [private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the <a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef" title="Used to identify field_value types.">field_value::type_id</a> associated with this class. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>field_value::sfnode</code>. </dd></dl> <p>Implements <a class="el" href="classopenvrml_1_1field__value.html#1926a8d946cd9885075d3be760d76f68">openvrml::field_value</a>.</p> </div> </div><p> <a class="anchor" name="0148488fc5ad6a14626b8cefbd8caeaf"></a><!-- doxytag: member="openvrml::sfnode::print" ref="0148488fc5ad6a14626b8cefbd8caeaf" args="(std::ostream &) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::sfnode::print </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"> <em>out</em> </td> <td> ) </td> <td> const<code> [private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Print to an output stream. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>out</em> </td><td>an output stream. </td></tr> </table> </dl> <p>Implements <a class="el" href="classopenvrml_1_1field__value.html#ac68afcf1ae9acbc69b58d6b6f1a1884">openvrml::field_value</a>.</p> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="0699bfda5bd77585ef13a7c2f84a87b9"></a><!-- doxytag: member="openvrml::sfnode::operator==" ref="0699bfda5bd77585ef13a7c2f84a87b9" args="(const sfnode &lhs, const sfnode &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>lhs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>rhs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Compare for equality. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lhs</em> </td><td>left-hand operand. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rhs</em> </td><td>right-hand operand.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> if <code>lhs</code> and <code>rhs</code> have the same value; <code>false</code> otherwise. </dd></dl> </div> </div><p> <a class="anchor" name="4f9c25dfe187fe75302c242d0362b79d"></a><!-- doxytag: member="openvrml::sfnode::operator!=" ref="4f9c25dfe187fe75302c242d0362b79d" args="(const sfnode &lhs, const sfnode &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>lhs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classopenvrml_1_1sfnode.html">sfnode</a> & </td> <td class="paramname"> <em>rhs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Compare for inequality. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lhs</em> </td><td>left-hand operand. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rhs</em> </td><td>right-hand operand.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> if <code>lhs</code> and <code>rhs</code> do not have the same value; <code>false</code> otherwise. </dd></dl> </div> </div><p> <a class="anchor" name="224a4ff0ad6b8adc421a627ed3a287ad"></a><!-- doxytag: member="openvrml::sfnode::swap" ref="224a4ff0ad6b8adc421a627ed3a287ad" args="(openvrml::sfnode &a, openvrml::sfnode &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">template<> void swap </td> <td>(</td> <td class="paramtype"><a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classopenvrml_1_1sfnode.html">openvrml::sfnode</a> & </td> <td class="paramname"> <em>b</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Swap the values of <code>a</code> and <code>b</code>. <p> Does not throw.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>a</em> </td><td></td></tr> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>b</em> </td><td></td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="0cc0e603c35be47c1129ca238c0528b9"></a><!-- doxytag: member="openvrml::sfnode::field_value_type_id" ref="0cc0e603c35be47c1129ca238c0528b9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">openvrml::field_value::type_id</a> <a class="el" href="classopenvrml_1_1sfnode.html#0cc0e603c35be47c1129ca238c0528b9">openvrml::sfnode::field_value_type_id</a> = sfnode_id<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <code><a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef" title="Used to identify field_value types.">field_value::type_id</a></code> for this class. <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&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:19 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>