Sophie

Sophie

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

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::vec3f Struct 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="structopenvrml_1_1vec3f.html">vec3f</a>
  </div>
</div>
<div class="contents">
<h1>openvrml::vec3f Struct Reference</h1><!-- doxytag: class="openvrml::vec3f" -->Three-component single-precision vector.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;openvrml/basetypes.h&gt;</code>
<p>

<p>
<a href="structopenvrml_1_1vec3f-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 Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#106b16436567cd5db8ca947e8e3e4eca">operator*=</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cross multiply.  <a href="#106b16436567cd5db8ca947e8e3e4eca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#a3604a0c164a14c7adb01b2dc30af453">operator*=</a> (const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;mat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply by a matrix.  <a href="#a3604a0c164a14c7adb01b2dc30af453"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#8b8f4ce90e90b3e5c7375ea95ffc995f">operator*=</a> (float scalar)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply by a scalar.  <a href="#8b8f4ce90e90b3e5c7375ea95ffc995f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#21a1ab31028e4725752e1f994a6a81ca">operator/=</a> (float scalar)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide by a scalar.  <a href="#21a1ab31028e4725752e1f994a6a81ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#fa36686f33e57aaabb774f8a560ae3a2">operator+=</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a vector.  <a href="#fa36686f33e57aaabb774f8a560ae3a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#543e740a6da20f9b54dc0b6163c747d9">operator-=</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract a vector.  <a href="#543e740a6da20f9b54dc0b6163c747d9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#d635f5bd57c5e222e884490a792e37d0">operator-</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Negate.  <a href="#d635f5bd57c5e222e884490a792e37d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const float &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#3746a5d17d47b3d9f1090dff350d8932">operator[]</a> (std::size_t index) const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Index-based component access.  <a href="#3746a5d17d47b3d9f1090dff350d8932"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#ac04b67cd09d13573da06b586823f9fa">x</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the x component.  <a href="#ac04b67cd09d13573da06b586823f9fa"></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="structopenvrml_1_1vec3f.html#d749db43ef2b56b6635d7670863330fd">x</a> (float value)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the x component.  <a href="#d749db43ef2b56b6635d7670863330fd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#bedf2c80cde088dc711828305f20dc95">y</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the y component.  <a href="#bedf2c80cde088dc711828305f20dc95"></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="structopenvrml_1_1vec3f.html#4b74072fa58d220607f5d82f4edfde1c">y</a> (float value)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the y component.  <a href="#4b74072fa58d220607f5d82f4edfde1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#1fda8dcae7ddebe14b0d9fe2bea6b374">z</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the z component.  <a href="#1fda8dcae7ddebe14b0d9fe2bea6b374"></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="structopenvrml_1_1vec3f.html#75209aa6c9fa91076dc37a45189bcd64">z</a> (float value)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the z component.  <a href="#75209aa6c9fa91076dc37a45189bcd64"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#68dd1aaed501ec8539f66f6b7845e3a6">dot</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>) const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dot product.  <a href="#68dd1aaed501ec8539f66f6b7845e3a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#bec84d1bd4d9553b76309d55d746edd6">length</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Geometric length.  <a href="#bec84d1bd4d9553b76309d55d746edd6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#61b48ad7b75112d2434da2d2bed59165">normalize</a> () const   throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalize.  <a href="#61b48ad7b75112d2434da2d2bed59165"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a> [3]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector components.  <a href="#f89d65f3e1ea2da590ed62ad1e8449f4"></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">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#ed59c221e2367a986b3095e4dd39557a">make_vec3f</a> () throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code>.  <a href="#ed59c221e2367a986b3095e4dd39557a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#2af49ec9301535dcf54feb27a573b8f1">make_vec3f</a> (const float(&amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>)[3]) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code> from an array.  <a href="#2af49ec9301535dcf54feb27a573b8f1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#59a3e1eb5fb7d8f0b7ffe318e2c621e2">make_vec3f</a> (const float x, const float y, const float z) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code> from <code>x</code>, <code>y</code>, and <code>z</code> components.  <a href="#59a3e1eb5fb7d8f0b7ffe318e2c621e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#1809b4e4035606afb6ac4795f0bae93f">operator*</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cross multiply two vectors.  <a href="#1809b4e4035606afb6ac4795f0bae93f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#1e24194b9a80674883ad5cd63c48fa50">operator*</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>, const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;mat) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a matrix.  <a href="#1e24194b9a80674883ad5cd63c48fa50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#1b4959010fabca06f12981f304a4fae3">operator*</a> (const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;mat, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;<a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">vec</a>) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a matrix by a vector.  <a href="#1b4959010fabca06f12981f304a4fae3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#13db9c4a834eac4ca1c105d1d326a5cc">operator*</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const float rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#13db9c4a834eac4ca1c105d1d326a5cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#8462cea602f20f41acb43e131dcc0b3e">operator*</a> (const float lhs, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#8462cea602f20f41acb43e131dcc0b3e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#472e2e3a65975a5b02b3b4da172587f5">operator/</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const float rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide a vector by a scalar.  <a href="#472e2e3a65975a5b02b3b4da172587f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#c94bde075de1ca8e7d659e40f959c4c3">operator+</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add two vectors.  <a href="#c94bde075de1ca8e7d659e40f959c4c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#7f850271242358394b93a029d958807d">operator-</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two vectors.  <a href="#7f850271242358394b93a029d958807d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#a350253313722be89635d804aeca7738">operator==</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#a350253313722be89635d804aeca7738"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#4abe0d863226d91d1759c9474c9c4334">operator!=</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;lhs, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;rhs) throw()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#4abe0d863226d91d1759c9474c9c4334"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::istream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#dc9fe3d84f070514171481d5c618beef">operator&gt;&gt;</a> (std::istream &amp;in, <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#dc9fe3d84f070514171481d5c618beef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html#7febf65bc44f5e081d7b991bcafbaa51">operator&lt;&lt;</a> (std::ostream &amp;out, const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#7febf65bc44f5e081d7b991bcafbaa51"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Three-component single-precision vector. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="106b16436567cd5db8ca947e8e3e4eca"></a><!-- doxytag: member="openvrml::vec3f::operator*=" ref="106b16436567cd5db8ca947e8e3e4eca" args="(const vec3f &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> &amp; openvrml::vec3f::operator*=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cross multiply. 
<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>vec</em>&nbsp;</td><td>vector by which to multiply.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="a3604a0c164a14c7adb01b2dc30af453"></a><!-- doxytag: member="openvrml::vec3f::operator*=" ref="a3604a0c164a14c7adb01b2dc30af453" args="(const mat4f &amp;mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> &amp; openvrml::vec3f::operator*=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mat</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply by a matrix. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mat</em>&nbsp;</td><td>matrix by which to multiply.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8b8f4ce90e90b3e5c7375ea95ffc995f"></a><!-- doxytag: member="openvrml::vec3f::operator*=" ref="8b8f4ce90e90b3e5c7375ea95ffc995f" args="(float scalar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> &amp; openvrml::vec3f::operator*=           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>scalar</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply by a scalar. 
<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>scalar</em>&nbsp;</td><td>factor by which to multiply.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="21a1ab31028e4725752e1f994a6a81ca"></a><!-- doxytag: member="openvrml::vec3f::operator/=" ref="21a1ab31028e4725752e1f994a6a81ca" args="(float scalar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> &amp; openvrml::vec3f::operator/=           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>scalar</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Divide by a scalar. 
<p>
<dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>scalar</code> is nonzero.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scalar</em>&nbsp;</td><td>divisor.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="fa36686f33e57aaabb774f8a560ae3a2"></a><!-- doxytag: member="openvrml::vec3f::operator+=" ref="fa36686f33e57aaabb774f8a560ae3a2" args="(const vec3f &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> &amp; openvrml::vec3f::operator+=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a vector. 
<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>vec</em>&nbsp;</td><td>the vector to add.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="543e740a6da20f9b54dc0b6163c747d9"></a><!-- doxytag: member="openvrml::vec3f::operator&#45;=" ref="543e740a6da20f9b54dc0b6163c747d9" args="(const vec3f &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> &amp; openvrml::vec3f::operator-=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subtract a vector. 
<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>vec</em>&nbsp;</td><td>the vector to subtract.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d635f5bd57c5e222e884490a792e37d0"></a><!-- doxytag: member="openvrml::vec3f::operator&#45;" ref="d635f5bd57c5e222e884490a792e37d0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> openvrml::vec3f::operator-           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Negate. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the additive inverse of the vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3746a5d17d47b3d9f1090dff350d8932"></a><!-- doxytag: member="openvrml::vec3f::operator[]" ref="3746a5d17d47b3d9f1090dff350d8932" args="(std::size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const float &amp; openvrml::vec3f::operator[]           </td>
          <td>(</td>
          <td class="paramtype">std::size_t&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Index-based component access. 
<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>index</em>&nbsp;</td><td>0 corresponds to the x component; 1 corresponds to the y component; 2 corresponds to the z component.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a const reference to the component corresponding to <code>index</code>.</dd></dl>
<dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>index</code> is less than 3. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ac04b67cd09d13573da06b586823f9fa"></a><!-- doxytag: member="openvrml::vec3f::x" ref="ac04b67cd09d13573da06b586823f9fa" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float openvrml::vec3f::x           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the x component. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the x component. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d749db43ef2b56b6635d7670863330fd"></a><!-- doxytag: member="openvrml::vec3f::x" ref="d749db43ef2b56b6635d7670863330fd" args="(float value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::vec3f::x           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>value</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the x component. 
<p>
<dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>value</code> is a valid numeric value (i.e., not NaN).</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>value</em>&nbsp;</td><td>new x component value. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="bedf2c80cde088dc711828305f20dc95"></a><!-- doxytag: member="openvrml::vec3f::y" ref="bedf2c80cde088dc711828305f20dc95" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float openvrml::vec3f::y           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the y component. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the y component. </dd></dl>

</div>
</div><p>
<a class="anchor" name="4b74072fa58d220607f5d82f4edfde1c"></a><!-- doxytag: member="openvrml::vec3f::y" ref="4b74072fa58d220607f5d82f4edfde1c" args="(float value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::vec3f::y           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>value</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the y component. 
<p>
<dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>value</code> is a valid numeric value (i.e., not NaN).</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>value</em>&nbsp;</td><td>new y component value. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1fda8dcae7ddebe14b0d9fe2bea6b374"></a><!-- doxytag: member="openvrml::vec3f::z" ref="1fda8dcae7ddebe14b0d9fe2bea6b374" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float openvrml::vec3f::z           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the z component. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the z component. </dd></dl>

</div>
</div><p>
<a class="anchor" name="75209aa6c9fa91076dc37a45189bcd64"></a><!-- doxytag: member="openvrml::vec3f::z" ref="75209aa6c9fa91076dc37a45189bcd64" args="(float value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::vec3f::z           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>value</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw ()<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the z component. 
<p>
<dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>value</code> is a valid numeric value (i.e., not NaN).</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>value</em>&nbsp;</td><td>new z component value. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="68dd1aaed501ec8539f66f6b7845e3a6"></a><!-- doxytag: member="openvrml::vec3f::dot" ref="68dd1aaed501ec8539f66f6b7845e3a6" args="(const vec3f &amp;vec) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float openvrml::vec3f::dot           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dot product. 
<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>vec</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the dot product of the vector and <code>vec</code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="bec84d1bd4d9553b76309d55d746edd6"></a><!-- doxytag: member="openvrml::vec3f::length" ref="bec84d1bd4d9553b76309d55d746edd6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float openvrml::vec3f::length           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Geometric length. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length of the vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="61b48ad7b75112d2434da2d2bed59165"></a><!-- doxytag: member="openvrml::vec3f::normalize" ref="61b48ad7b75112d2434da2d2bed59165" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> openvrml::vec3f::normalize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalize. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the vector normalized. </dd></dl>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="ed59c221e2367a986b3095e4dd39557a"></a><!-- doxytag: member="openvrml::vec3f::make_vec3f" ref="ed59c221e2367a986b3095e4dd39557a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> make_vec3f           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code>. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a zero-initialized <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="2af49ec9301535dcf54feb27a573b8f1"></a><!-- doxytag: member="openvrml::vec3f::make_vec3f" ref="2af49ec9301535dcf54feb27a573b8f1" args="(const float(&amp;vec)[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> make_vec3f           </td>
          <td>(</td>
          <td class="paramtype">const float(&amp;)&nbsp;</td>
          <td class="paramname"> <em>vec</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code> from an array. 
<p>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <dl class="pre" compact><dt><b>Precondition:</b></dt><dd>Elements of <code>vec</code> are valid numeric values (i.e., not NaN).</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>vec</em>&nbsp;</td><td>an array comprising the vector components.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code> with the values in <code>vec</code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="59a3e1eb5fb7d8f0b7ffe318e2c621e2"></a><!-- doxytag: member="openvrml::vec3f::make_vec3f" ref="59a3e1eb5fb7d8f0b7ffe318e2c621e2" args="(const float x, const float y, const float z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> make_vec3f           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code> from <code>x</code>, <code>y</code>, and <code>z</code> components. 
<p>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>x</code>, <code>y</code> and <code>z</code> are valid numeric values (i.e., not NaN).</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>x</em>&nbsp;</td><td>x component. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>y</em>&nbsp;</td><td>y component. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>z</em>&nbsp;</td><td>z component.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code> with the values <code>x</code>, <code>y</code>, and <code>z</code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="1809b4e4035606afb6ac4795f0bae93f"></a><!-- doxytag: member="openvrml::vec3f::operator*" ref="1809b4e4035606afb6ac4795f0bae93f" args="(const vec3f &amp;lhs, const vec3f &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator*           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cross multiply two vectors. 
<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>lhs</em>&nbsp;</td><td>left-hand operand. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</td><td>right-hand operand.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="1e24194b9a80674883ad5cd63c48fa50"></a><!-- doxytag: member="openvrml::vec3f::operator*" ref="1e24194b9a80674883ad5cd63c48fa50" args="(const vec3f &amp;vec, const mat4f &amp;mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator*           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mat</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="1b4959010fabca06f12981f304a4fae3"></a><!-- doxytag: member="openvrml::vec3f::operator*" ref="1b4959010fabca06f12981f304a4fae3" args="(const mat4f &amp;mat, const vec3f &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator*           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a matrix by a vector. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mat</em>&nbsp;</td><td>a matrix. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>vec</em>&nbsp;</td><td>a 3-component vector.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="13db9c4a834eac4ca1c105d1d326a5cc"></a><!-- doxytag: member="openvrml::vec3f::operator*" ref="13db9c4a834eac4ca1c105d1d326a5cc" args="(const vec3f &amp;lhs, const float rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator*           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a vector by a scalar. 
<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>lhs</em>&nbsp;</td><td>left-hand operand (the vector). </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</td><td>right-hand operand (the scalar).</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8462cea602f20f41acb43e131dcc0b3e"></a><!-- doxytag: member="openvrml::vec3f::operator*" ref="8462cea602f20f41acb43e131dcc0b3e" args="(const float lhs, const vec3f &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator*           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a vector by a scalar. 
<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>lhs</em>&nbsp;</td><td>left-hand operand (the scalar). </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</td><td>right-hand operand (the vector).</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="472e2e3a65975a5b02b3b4da172587f5"></a><!-- doxytag: member="openvrml::vec3f::operator/" ref="472e2e3a65975a5b02b3b4da172587f5" args="(const vec3f &amp;lhs, const float rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator/           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Divide a vector by a scalar. 
<p>
<dl class="pre" compact><dt><b>Precondition:</b></dt><dd><code>rhs</code> is nonzero.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>lhs</em>&nbsp;</td><td>left-hand operand (the vector). </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</td><td>right-hand operand (the scalar).</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c94bde075de1ca8e7d659e40f959c4c3"></a><!-- doxytag: member="openvrml::vec3f::operator+" ref="c94bde075de1ca8e7d659e40f959c4c3" args="(const vec3f &amp;lhs, const vec3f &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator+           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add two vectors. 
<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>lhs</em>&nbsp;</td><td>left-hand operand. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</td><td>right-hand operand.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="7f850271242358394b93a029d958807d"></a><!-- doxytag: member="openvrml::vec3f::operator&#45;" ref="7f850271242358394b93a029d958807d" args="(const vec3f &amp;lhs, const vec3f &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a> operator-           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> throw()<code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subtract two vectors. 
<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>lhs</em>&nbsp;</td><td>left-hand operand. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</td><td>right-hand operand.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the result vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="a350253313722be89635d804aeca7738"></a><!-- doxytag: member="openvrml::vec3f::operator==" ref="a350253313722be89635d804aeca7738" args="(const vec3f &amp;lhs, const vec3f &amp;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="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</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>&nbsp;</td><td valign="top"><em>lhs</em>&nbsp;</td><td>left-hand operand. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</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="4abe0d863226d91d1759c9474c9c4334"></a><!-- doxytag: member="openvrml::vec3f::operator!=" ref="4abe0d863226d91d1759c9474c9c4334" args="(const vec3f &amp;lhs, const vec3f &amp;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="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</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>&nbsp;</td><td valign="top"><em>lhs</em>&nbsp;</td><td>left-hand operand. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rhs</em>&nbsp;</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> dot not have the same value; <code>false</code> otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="dc9fe3d84f070514171481d5c618beef"></a><!-- doxytag: member="openvrml::vec3f::operator&gt;&gt;" ref="dc9fe3d84f070514171481d5c618beef" args="(std::istream &amp;in, vec3f &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::istream &amp; operator&gt;&gt;           </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stream input. 
<p>
Consistent with the VRML97 convention, commas (&ldquo;<code></code>,&rdquo;) in the input are treated as whitespace.<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>in</em>&nbsp;</td><td>input stream. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>v</em>&nbsp;</td><td>a <code><a class="el" href="structopenvrml_1_1vec3f.html" title="Three-component single-precision vector.">vec3f</a></code>.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>in</code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="7febf65bc44f5e081d7b991bcafbaa51"></a><!-- doxytag: member="openvrml::vec3f::operator&lt;&lt;" ref="7febf65bc44f5e081d7b991bcafbaa51" args="(std::ostream &amp;out, const vec3f &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; operator&lt;&lt;           </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stream output. 
<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>out</em>&nbsp;</td><td>output stream. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>v</em>&nbsp;</td><td>a 3-component vector.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>out</code>. </dd></dl>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="f89d65f3e1ea2da590ed62ad1e8449f4"></a><!-- doxytag: member="openvrml::vec3f::vec" ref="f89d65f3e1ea2da590ed62ad1e8449f4" args="[3]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structopenvrml_1_1vec3f.html#f89d65f3e1ea2da590ed62ad1e8449f4">openvrml::vec3f::vec</a>[3]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Vector components. 
<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:16 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>