Sophie

Sophie

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

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: basetypes.h File 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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><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="files.html"><span>File&nbsp;List</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>basetypes.h File Reference</h1>Basic types for representing data in VRML/X3D worlds (color, rotations, vectors, etc.).  
<a href="#_details">More...</a>
<p>
<code>#include &lt;openvrml-common.h&gt;</code><br>
<code>#include &lt;cassert&gt;</code><br>
<code>#include &lt;cstddef&gt;</code><br>
<code>#include &lt;algorithm&gt;</code><br>
<code>#include &lt;iosfwd&gt;</code><br>
<code>#include &lt;vector&gt;</code><br>
<code>#include &lt;boost/cstdint.hpp&gt;</code><br>

<p>
<div class="dynheader">
Include dependency graph for basetypes.h:</div>
<div class="dynsection">
<p><center><img src="basetypes_8h__incl.png" border="0" usemap="#basetypes.h_map" alt=""></center>
</div>

<p>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
<p><center><img src="basetypes_8h__dep__incl.png" border="0" usemap="#basetypes.hdep_map" alt=""></center>
<map name="basetypes.hdep_map">
<area shape="rect" href="bounding__volume_8h.html" title="Bounding volumes." alt="" coords="103,83,239,112"><area shape="rect" href="field__value_8h.html" title="Field value types." alt="" coords="264,160,360,189"><area shape="rect" href="openvrml_2viewer_8h.html" title="Definition of openvrml::viewer." alt="" coords="5,160,77,189"><area shape="rect" href="rendering__context_8h.html" title="Definition of openvrml::rendering_context." alt="" coords="101,160,240,189"><area shape="rect" href="gl_2openvrml_2gl_2viewer_8h.html" title="Definition of openvrml::gl::viewer." alt="" coords="5,237,77,267"><area shape="rect" href="node_8h.html" title="Abstract node types and supporting types." alt="" coords="183,237,244,267"><area shape="rect" href="scene_8h.html" title="Definition of openvrml::scene." alt="" coords="92,315,159,344"><area shape="rect" href="exposedfield_8h.html" title="Definition of openvrml::exposedfield." alt="" coords="268,315,377,344"><area shape="rect" href="script_8h.html" title="Pluggable scripting engine support." alt="" coords="183,315,244,344"><area shape="rect" href="node__impl__util_8h.html" title="Definition of utility classes to facilitate node implementations." alt="" coords="271,392,385,421"><area shape="rect" href="browser_8h.html" title="Classes that manage the scene." alt="" coords="167,392,247,421"><area shape="rect" href="vrml97__grammar_8h.html" title="VRML97 Spirit grammar and associated parsers." alt="" coords="140,469,273,499"><area shape="rect" href="x3d__vrml__grammar_8h.html" title="Classic VRML X3D Spirit grammar." alt="" coords="133,547,280,576"><area shape="rect" href="event_8h.html" title="Event emitter and listener interfaces." alt="" coords="280,237,344,267"></map>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color.html">openvrml::color</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>.  <a href="structopenvrml_1_1color.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a> with an alpha channel.  <a href="structopenvrml_1_1color__rgba.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec2f.html">openvrml::vec2f</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a two-component single-precision vector.  <a href="structopenvrml_1_1vec2f.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec2d.html">openvrml::vec2d</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Two-component double-precision vector.  <a href="structopenvrml_1_1vec2d.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3f.html">openvrml::vec3f</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Three-component single-precision vector.  <a href="structopenvrml_1_1vec3f.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1vec3d.html">openvrml::vec3d</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a three-component double-precision vector.  <a href="structopenvrml_1_1vec3d.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1rotation.html">openvrml::rotation</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a <a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a>.  <a href="structopenvrml_1_1rotation.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1mat4f.html">openvrml::mat4f</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a 4x4 matrix.  <a href="structopenvrml_1_1mat4f.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1quatf.html">openvrml::quatf</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A POD-struct comprising a quaternion.  <a href="structopenvrml_1_1quatf.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1image.html">openvrml::image</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pixmap data.  <a href="classopenvrml_1_1image.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html">openvrml</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The OpenVRML Runtime Library. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL namespace. <br></td></tr>

<p>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#926f3eec6e5bcd81fbed4885e57b78f0">openvrml::int32</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32-bit signed integer.  <a href="#926f3eec6e5bcd81fbed4885e57b78f0"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const color&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#4d7f77fc77a424f3b3ce1ac6d2696912">openvrml::make_color</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a zero-initialized <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>.  <a href="#4d7f77fc77a424f3b3ce1ac6d2696912"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const color&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#4bab83ea73b85136d20e9c59f164b91e">openvrml::make_color</a> (const float(&amp;rgb)[3])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>.  <a href="#4bab83ea73b85136d20e9c59f164b91e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const color&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#9b1c04bde92852fe3138d662ca1697cd">openvrml::make_color</a> (float r, float g, float b)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a>.  <a href="#9b1c04bde92852fe3138d662ca1697cd"></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="namespaceopenvrml.html#c373a79e04ee9defdb3885f890c9cd49">openvrml::operator==</a> (const color &amp;lhs, const color &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#c373a79e04ee9defdb3885f890c9cd49"></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="namespaceopenvrml.html#86707a427052caa66747d127d9fb9adc">openvrml::operator!=</a> (const color &amp;lhs, const color &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#86707a427052caa66747d127d9fb9adc"></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="namespaceopenvrml.html#c491cf2e907c06cb5e1ca135b8174759">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, color &amp;c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#c491cf2e907c06cb5e1ca135b8174759"></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="namespaceopenvrml.html#47b141bac0a97692fb7a18d11aefc7b2">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const color &amp;c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#47b141bac0a97692fb7a18d11aefc7b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const color_rgba&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1fc4be7825d1b7affab5dc8aa1fa3a42">openvrml::make_color_rgba</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a zero-initialized <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>.  <a href="#1fc4be7825d1b7affab5dc8aa1fa3a42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const color_rgba&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#c703785c6278c61d534950dc39114fe0">openvrml::make_color_rgba</a> (const float(&amp;rgba)[4])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>.  <a href="#c703785c6278c61d534950dc39114fe0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const color_rgba&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#d05bb0e91428a31b675c42142ef3bf4e">openvrml::make_color_rgba</a> (float r, float g, float b, float a)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>.  <a href="#d05bb0e91428a31b675c42142ef3bf4e"></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="namespaceopenvrml.html#76aba19dfc0e4d2bb2015d3b69c6f289">openvrml::operator==</a> (const color_rgba &amp;lhs, const color_rgba &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#76aba19dfc0e4d2bb2015d3b69c6f289"></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="namespaceopenvrml.html#bf4b0af409ae896b4ec7f1c6292bfbac">openvrml::operator!=</a> (const color_rgba &amp;lhs, const color_rgba &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#bf4b0af409ae896b4ec7f1c6292bfbac"></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="namespaceopenvrml.html#277f166452713d744d3984f9c58dbbc7">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, color_rgba &amp;c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#277f166452713d744d3984f9c58dbbc7"></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="namespaceopenvrml.html#3987eaaec7fdac2a1947a09129301b0b">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const color_rgba &amp;c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#3987eaaec7fdac2a1947a09129301b0b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#26178e284c104610a2a424da5b132098">openvrml::make_vec2f</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec2f.html" title="A POD-struct comprising a two-component single-precision vector.">vec2f</a></code>.  <a href="#26178e284c104610a2a424da5b132098"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#2df7e315da3f2ed4cee5a10e67480de7">openvrml::make_vec2f</a> (const float(&amp;vec)[2])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec2f.html" title="A POD-struct comprising a two-component single-precision vector.">vec2f</a></code> from an array.  <a href="#2df7e315da3f2ed4cee5a10e67480de7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#763acae75746ffbc3951af72e739ad40">openvrml::make_vec2f</a> (float x, float y)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec2f.html" title="A POD-struct comprising a two-component single-precision vector.">vec2f</a></code> from <code>x</code> and <code>y</code> components.  <a href="#763acae75746ffbc3951af72e739ad40"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#cb57b2ac004731edd16e5550f0b8fb4f">openvrml::operator*</a> (const vec2f &amp;lhs, float rhs)  throw ()</td></tr>

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#9338434cff5d9dcf81f8f1fc7f3cc1a9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1468dcd3c288c589fda6e094e229b1d7">openvrml::operator/</a> (const vec2f &amp;lhs, float rhs)  throw ()</td></tr>

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

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two vectors.  <a href="#2539c324570199b2409dae43fc1b4bc5"></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="namespaceopenvrml.html#2e2ba6567755727e8c47c322950d5a2e">openvrml::operator==</a> (const vec2f &amp;lhs, const vec2f &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#2e2ba6567755727e8c47c322950d5a2e"></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="namespaceopenvrml.html#fc4b60f07b0035abfc934e95894f0657">openvrml::operator!=</a> (const vec2f &amp;lhs, const vec2f &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#fc4b60f07b0035abfc934e95894f0657"></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="namespaceopenvrml.html#3807edc69d4ce71648c74cddf51bbe61">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, vec2f &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#3807edc69d4ce71648c74cddf51bbe61"></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="namespaceopenvrml.html#ee3ec87a0dd57911776eb3afc28b5a14">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const vec2f &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#ee3ec87a0dd57911776eb3afc28b5a14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#a3d7885a6a6a6631aa92c92fcc03373f">openvrml::make_vec2d</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec2d.html" title="Two-component double-precision vector.">vec2d</a></code>.  <a href="#a3d7885a6a6a6631aa92c92fcc03373f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#6db665d1461c06d48e06aeaec4462a60">openvrml::make_vec2d</a> (const double(&amp;vec)[2])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec2d.html" title="Two-component double-precision vector.">vec2d</a></code> from an array.  <a href="#6db665d1461c06d48e06aeaec4462a60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1a807a06d606dbcbd610fa5b1bd3f47c">openvrml::make_vec2d</a> (double x, double y)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec2d.html" title="Two-component double-precision vector.">vec2d</a></code> from <code>x</code> and <code>y</code> components.  <a href="#1a807a06d606dbcbd610fa5b1bd3f47c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#171406f5a26be844951521b3608b34f8">openvrml::operator*</a> (const vec2d &amp;lhs, double rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#171406f5a26be844951521b3608b34f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#d579f33177bb234780eb064dde3bc965">openvrml::operator*</a> (double lhs, const vec2d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#d579f33177bb234780eb064dde3bc965"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#06cc7aa565cd45b925185b3c470bf896">openvrml::operator/</a> (const vec2d &amp;lhs, double rhs)  throw ()</td></tr>

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add two vectors.  <a href="#30ff61e15d01518a81997c2d22326ad8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec2d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#39a107cd29b213de7135c3d033b4a9f4">openvrml::operator-</a> (const vec2d &amp;lhs, const vec2d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two vectors.  <a href="#39a107cd29b213de7135c3d033b4a9f4"></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="namespaceopenvrml.html#fa2d2fe9c6e5e77c50d51231d44a9ed8">openvrml::operator==</a> (const vec2d &amp;lhs, const vec2d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#fa2d2fe9c6e5e77c50d51231d44a9ed8"></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="namespaceopenvrml.html#0ea169c3f1e5b9c985ad6c25418abfa6">openvrml::operator!=</a> (const vec2d &amp;lhs, const vec2d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#0ea169c3f1e5b9c985ad6c25418abfa6"></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="namespaceopenvrml.html#92067c5aff8dde3c6e62df946f569ce5">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, vec2d &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#92067c5aff8dde3c6e62df946f569ce5"></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="namespaceopenvrml.html#f781a5acfca2370e8d0df87260cfb831">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const vec2d &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#f781a5acfca2370e8d0df87260cfb831"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#ed59c221e2367a986b3095e4dd39557a">openvrml::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 vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#2af49ec9301535dcf54feb27a573b8f1">openvrml::make_vec3f</a> (const float(&amp;vec)[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 vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#35be2c9fa1a72f3cf90116c790778877">openvrml::make_vec3f</a> (float x, float y, 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="#35be2c9fa1a72f3cf90116c790778877"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1809b4e4035606afb6ac4795f0bae93f">openvrml::operator*</a> (const vec3f &amp;lhs, const vec3f &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 vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#56cd1121ac0d0ed70e8ed4f59ce10789">openvrml::operator*</a> (const vec3f &amp;lhs, float rhs)  throw ()</td></tr>

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#e7041bece7fc759323ef61b9439f1fc4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#79c2811b1f264949de0eaeb3e3977a6d">openvrml::operator*</a> (const vec3f &amp;lhs, const mat4f &amp;mat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a matrix.  <a href="#79c2811b1f264949de0eaeb3e3977a6d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1b4959010fabca06f12981f304a4fae3">openvrml::operator*</a> (const mat4f &amp;mat, const vec3f &amp;vec)  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 vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#6047b2941d213dd92ea9150e77396dc6">openvrml::operator/</a> (const vec3f &amp;lhs, float rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide a vector by a scalar.  <a href="#6047b2941d213dd92ea9150e77396dc6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#c94bde075de1ca8e7d659e40f959c4c3">openvrml::operator+</a> (const vec3f &amp;lhs, const vec3f &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 vec3f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#7f850271242358394b93a029d958807d">openvrml::operator-</a> (const vec3f &amp;lhs, const vec3f &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="namespaceopenvrml.html#a350253313722be89635d804aeca7738">openvrml::operator==</a> (const vec3f &amp;lhs, const vec3f &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="namespaceopenvrml.html#4abe0d863226d91d1759c9474c9c4334">openvrml::operator!=</a> (const vec3f &amp;lhs, const vec3f &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="namespaceopenvrml.html#dc9fe3d84f070514171481d5c618beef">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, vec3f &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="namespaceopenvrml.html#7febf65bc44f5e081d7b991bcafbaa51">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const vec3f &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#7febf65bc44f5e081d7b991bcafbaa51"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#bd3209f50d025b3a8380fda978141188">openvrml::make_vec3d</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec3d.html" title="A POD-struct comprising a three-component double-precision vector.">vec3d</a></code>.  <a href="#bd3209f50d025b3a8380fda978141188"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1acbb9cdd19170cadc431363e3338e07">openvrml::make_vec3d</a> (const double(&amp;vec)[3])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec3d.html" title="A POD-struct comprising a three-component double-precision vector.">vec3d</a></code> from an array.  <a href="#1acbb9cdd19170cadc431363e3338e07"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#4d65de24ce3d63dd7fe8adfb13f86317">openvrml::make_vec3d</a> (double x, double y, double z)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1vec3d.html" title="A POD-struct comprising a three-component double-precision vector.">vec3d</a></code> from <code>x</code>, <code>y</code>, and <code>z</code> components.  <a href="#4d65de24ce3d63dd7fe8adfb13f86317"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#d70dd72e73a7c739d9c3cdfc4192e92d">openvrml::operator*</a> (const vec3d &amp;lhs, const vec3d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cross multiply two vectors.  <a href="#d70dd72e73a7c739d9c3cdfc4192e92d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#fde162a7ef2d73f293e8b7a83ba9df96">openvrml::operator*</a> (const vec3d &amp;lhs, double rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#fde162a7ef2d73f293e8b7a83ba9df96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#47a7343004bff54c5413ca6e65eb4a33">openvrml::operator*</a> (double lhs, const vec3d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a scalar.  <a href="#47a7343004bff54c5413ca6e65eb4a33"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#dc97071590b88bda6321767df3d700e4">openvrml::operator*</a> (const vec3d &amp;lhs, const mat4f &amp;mat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector by a matrix.  <a href="#dc97071590b88bda6321767df3d700e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#0a4019093ba60584ba10081a8819bf3c">openvrml::operator*</a> (const mat4f &amp;mat, const vec3d &amp;vec)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a matrix by a vector.  <a href="#0a4019093ba60584ba10081a8819bf3c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const vec3d&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#e5c7aa53213dd364d48e46fab57f9b4f">openvrml::operator/</a> (const vec3d &amp;lhs, double rhs)  throw ()</td></tr>

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

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two vectors.  <a href="#be6cf6ea0f805ebeefd93901cd304654"></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="namespaceopenvrml.html#2f26218c84e6f2258347a6fad37eb08d">openvrml::operator==</a> (const vec3d &amp;lhs, const vec3d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#2f26218c84e6f2258347a6fad37eb08d"></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="namespaceopenvrml.html#9f99e798cda1ae753701b82944a48849">openvrml::operator!=</a> (const vec3d &amp;lhs, const vec3d &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#9f99e798cda1ae753701b82944a48849"></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="namespaceopenvrml.html#5eaf5e0b048265cf5c7cb9d383ab9bc0">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, vec3d &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#5eaf5e0b048265cf5c7cb9d383ab9bc0"></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="namespaceopenvrml.html#051c43b768351b1362386ef2be9cb554">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const vec3d &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#051c43b768351b1362386ef2be9cb554"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#1b390b2f7bdf5ffea37394fb297ac12d">openvrml::make_rotation</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a default <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code>.  <a href="#1b390b2f7bdf5ffea37394fb297ac12d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#ef2ec17a6ad372cd1f2dd176efc3471d">openvrml::make_rotation</a> (const float(&amp;rot)[4])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code> from an array.  <a href="#ef2ec17a6ad372cd1f2dd176efc3471d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#dfab6685966afd7d2206ba66f83f85cc">openvrml::make_rotation</a> (float x, float y, float z, float angle)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code> from <code>x</code>, <code>y</code>, <code>z</code>, and <code>angle</code> components.  <a href="#dfab6685966afd7d2206ba66f83f85cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#726c95620733dd98f5c9e4df1da3bc20">openvrml::make_rotation</a> (const vec3f &amp;axis, float angle)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code> from an axis vector and an angle.  <a href="#726c95620733dd98f5c9e4df1da3bc20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#ecc23161c5effb88dd2ba79ea8b0bddd">openvrml::make_rotation</a> (const vec3f &amp;from_vec, const vec3f &amp;to_vec)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code> equal to the <a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a> between two different vectors.  <a href="#ecc23161c5effb88dd2ba79ea8b0bddd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#a8c7cd3a8ee313eb5ee1a3370fe8262f">openvrml::make_rotation</a> (const quatf &amp;quat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code> from a quaternion.  <a href="#a8c7cd3a8ee313eb5ee1a3370fe8262f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#2fcc46f4f457935cee529b6442330430">openvrml::operator*</a> (const rotation &amp;lhs, const rotation &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply rotations.  <a href="#2fcc46f4f457935cee529b6442330430"></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="namespaceopenvrml.html#395206bd9bdb1e9028b06f106b9eb82b">openvrml::operator==</a> (const rotation &amp;lhs, const rotation &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#395206bd9bdb1e9028b06f106b9eb82b"></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="namespaceopenvrml.html#6bca35c92121024dd95e59f8920d2328">openvrml::operator!=</a> (const rotation &amp;lhs, const rotation &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#6bca35c92121024dd95e59f8920d2328"></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="namespaceopenvrml.html#e228ef5f11555adbe832bdfa59a11b8b">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, rotation &amp;rot)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#e228ef5f11555adbe832bdfa59a11b8b"></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="namespaceopenvrml.html#3388384379d2ae276d78a65be1d5a93a">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const rotation &amp;r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#3388384379d2ae276d78a65be1d5a93a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#298b59c00b4f96f829e3a1925854618d">openvrml::make_mat4f</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an identity matrix.  <a href="#298b59c00b4f96f829e3a1925854618d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#83e1b53b703ec44d2ae151a562e001e6">openvrml::make_mat4f</a> (float f11, float f12, float f13, float f14, float f21, float f22, float f23, float f24, float f31, float f32, float f33, float f34, float f41, float f42, float f43, float f44)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1mat4f.html" title="A POD-struct comprising a 4x4 matrix.">mat4f</a></code> with given 16 elements in row-major order.  <a href="#83e1b53b703ec44d2ae151a562e001e6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#b2e6c0992001f47a2745c2f9ca15dba3">openvrml::make_mat4f</a> (const float mat[16])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a matrix from an array of 16 values.  <a href="#b2e6c0992001f47a2745c2f9ca15dba3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#c4a2eb5b8b561cedea5e01abd0812fc7">openvrml::make_mat4f</a> (const float(&amp;mat)[4][4])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a matrix from a 4x4 array.  <a href="#c4a2eb5b8b561cedea5e01abd0812fc7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#bee073375f48fa2365531edcbdbbcb25">openvrml::make_rotation_mat4f</a> (const rotation &amp;rot)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a> matrix.  <a href="#bee073375f48fa2365531edcbdbbcb25"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#346c24994c96dacf568130326932398a">openvrml::make_rotation_mat4f</a> (const quatf &amp;quat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a> matrix.  <a href="#346c24994c96dacf568130326932398a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#87a9f1a608373fe4e63c5a9a6f561bf4">openvrml::make_scale_mat4f</a> (float s)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a uniform scale matrix.  <a href="#87a9f1a608373fe4e63c5a9a6f561bf4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#53bcac9fd62e34ab0de3ad6364332156">openvrml::make_scale_mat4f</a> (const vec3f &amp;s)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a scale matrix.  <a href="#53bcac9fd62e34ab0de3ad6364332156"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#023cc06c28aa31b6e91714fdca8155ed">openvrml::make_translation_mat4f</a> (const vec3f &amp;t)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a translation matrix.  <a href="#023cc06c28aa31b6e91714fdca8155ed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#0f29ea258d8bdda2674b49508bab780b">openvrml::make_transformation_mat4f</a> (const vec3f &amp;t, const rotation &amp;r, const vec3f &amp;s, const rotation &amp;sr, const vec3f &amp;c)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a transformation matrix from a translation, a <a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a>, a scale, a scaleOrientation, and a center.  <a href="#0f29ea258d8bdda2674b49508bab780b"></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="namespaceopenvrml.html#5470c5abaf1c5542d5bc88ca9e21bb5f">openvrml::operator==</a> (const mat4f &amp;lhs, const mat4f &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equality comparison operator.  <a href="#5470c5abaf1c5542d5bc88ca9e21bb5f"></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="namespaceopenvrml.html#bd933aa9bde5963758db140a3de28f53">openvrml::operator!=</a> (const mat4f &amp;lhs, const mat4f &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inequality comparison operator.  <a href="#bd933aa9bde5963758db140a3de28f53"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#4b7c7f0185189b521438b86386425182">openvrml::operator*</a> (const mat4f &amp;lhs, const mat4f &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply two matrices.  <a href="#4b7c7f0185189b521438b86386425182"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#63c5357b79126afb1135ca2aa1525464">openvrml::operator*</a> (const mat4f &amp;mat, float scalar)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a matrix by a scalar value.  <a href="#63c5357b79126afb1135ca2aa1525464"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const mat4f&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#6a5a8daa8644d0d5206c5f97c80d00fb">openvrml::operator*</a> (float scalar, const mat4f &amp;mat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a scalar value by matrix.  <a href="#6a5a8daa8644d0d5206c5f97c80d00fb"></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="namespaceopenvrml.html#96a0595cf9be591cd8690822dabb9423">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, mat4f &amp;mat)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#96a0595cf9be591cd8690822dabb9423"></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="namespaceopenvrml.html#3ae39a66e8fa8508c8630f27479e4fcb">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const mat4f &amp;mat)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#3ae39a66e8fa8508c8630f27479e4fcb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#06418cb5a221e72709f3dd9bc4c1e4d4">openvrml::make_quatf</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a default <code><a class="el" href="structopenvrml_1_1quatf.html" title="A POD-struct comprising a quaternion.">quatf</a></code>.  <a href="#06418cb5a221e72709f3dd9bc4c1e4d4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#8e2f7ca89668e4d506d7c9533ceb575b">openvrml::make_quatf</a> (float x, float y, float z, float w)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1quatf.html" title="A POD-struct comprising a quaternion.">quatf</a></code> from four values.  <a href="#8e2f7ca89668e4d506d7c9533ceb575b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#8cb8ecc17543fae40502c502be760ee6">openvrml::make_quatf</a> (const float(&amp;quat)[4])  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1quatf.html" title="A POD-struct comprising a quaternion.">quatf</a></code> from an array of four values.  <a href="#8cb8ecc17543fae40502c502be760ee6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#218690babd1ee3ea22e190b3b121c1ea">openvrml::make_quatf</a> (const rotation &amp;rot)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1quatf.html" title="A POD-struct comprising a quaternion.">quatf</a></code> from a <code><a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a></code>.  <a href="#218690babd1ee3ea22e190b3b121c1ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#766117d73c8e1c2f5591acec52c5c17b">openvrml::make_quatf</a> (const mat4f &amp;mat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1quatf.html" title="A POD-struct comprising a quaternion.">quatf</a></code> from a <a class="el" href="structopenvrml_1_1rotation.html" title="A POD-struct comprising a rotation.">rotation</a> matrix.  <a href="#766117d73c8e1c2f5591acec52c5c17b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#c22b3f347158a5ff7b90521c17092fe4">openvrml::operator*</a> (const quatf &amp;lhs, const quatf &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply two quaternions.  <a href="#c22b3f347158a5ff7b90521c17092fe4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#ace86e008487244218512947b0769e62">openvrml::operator*</a> (const quatf &amp;quat, const float scalar)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a quaternion by a scalar.  <a href="#ace86e008487244218512947b0769e62"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#5201d261423080e110953d11bd8e7901">openvrml::operator*</a> (const float scalar, const quatf &amp;quat)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a scalar by a quaternion.  <a href="#5201d261423080e110953d11bd8e7901"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#60903491a58e7bc6c757d686bc716f58">openvrml::operator/</a> (const quatf &amp;quat, const float scalar)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide a quaternion by a scalar.  <a href="#60903491a58e7bc6c757d686bc716f58"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#da8e46222b4cd0932c159ee88ce5a4ad">openvrml::operator+</a> (const quatf &amp;lhs, const quatf &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add two quaternions.  <a href="#da8e46222b4cd0932c159ee88ce5a4ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const quatf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceopenvrml.html#dac54f669d3dc3234e47159c1f5301ca">openvrml::operator-</a> (const quatf &amp;lhs, const quatf &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take the difference between two quaternions.  <a href="#dac54f669d3dc3234e47159c1f5301ca"></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="namespaceopenvrml.html#a868da0acb90cfb6df7df008b9ed7b3d">openvrml::operator==</a> (const quatf &amp;lhs, const quatf &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#a868da0acb90cfb6df7df008b9ed7b3d"></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="namespaceopenvrml.html#4a4c87758b5cde60ce23fdea4b755756">openvrml::operator!=</a> (const quatf &amp;lhs, const quatf &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#4a4c87758b5cde60ce23fdea4b755756"></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="namespaceopenvrml.html#7845294e7fb5ec719d708c27957ea067">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, quatf &amp;q)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#7845294e7fb5ec719d708c27957ea067"></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="namespaceopenvrml.html#31e11ba9bcda7cff4b2b81a98dae3df2">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const quatf &amp;quat)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#31e11ba9bcda7cff4b2b81a98dae3df2"></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="namespaceopenvrml.html#53db86e905a82d553464d70afd4a92e2">openvrml::operator==</a> (const image &amp;lhs, const image &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for equality.  <a href="#53db86e905a82d553464d70afd4a92e2"></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="namespaceopenvrml.html#ead4e7e956c67f92cdb503d13ba1bb9a">openvrml::operator!=</a> (const image &amp;lhs, const image &amp;rhs)  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare for inequality.  <a href="#ead4e7e956c67f92cdb503d13ba1bb9a"></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="namespaceopenvrml.html#598db8caeb34aaecedf33b2c1c1056d3">openvrml::operator&gt;&gt;</a> (std::istream &amp;in, image &amp;img)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream input.  <a href="#598db8caeb34aaecedf33b2c1c1056d3"></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="namespaceopenvrml.html#09d1c27e26c5da2b0c0838ec8f028720">openvrml::operator&lt;&lt;</a> (std::ostream &amp;out, const image &amp;img)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream output.  <a href="#09d1c27e26c5da2b0c0838ec8f028720"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacestd.html#b3bc2fde5b79a374c477eb360b15034b">std::swap</a> (<a class="el" href="classopenvrml_1_1image.html">openvrml::image</a> &amp;a, <a class="el" href="classopenvrml_1_1image.html">openvrml::image</a> &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Swap the values of <code>and</code> <code>b</code>.  <a href="#b3bc2fde5b79a374c477eb360b15034b"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Basic types for representing data in VRML/X3D worlds (color, rotations, vectors, etc.). 
<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:09 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>