Sophie

Sophie

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

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::bounding_sphere Class Reference</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<link rel="icon" href="../vrml-16">
<link rel="start" href="http://openvrml.org/index" title="OpenVRML Home">
<link rel="prev" href="http://openvrml.org/discussion" title="Discussion">
<link rel="contents" href="index" title="Documentation Main Page">
<link rel="index" href="functions" title="OpenVRML Compound Members">
<link rel="appendix" href="conformance" title="Conformance Test Results">
<style type="text/css">
@import url("tabs.css");
@import url("http://openvrml.org/openvrml.css");

table {
  width: 100%;
}

h2 {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

/*
 * Doxygen as of 1.5.4-20071217 uses the class "navpath" instead of "nav".
 * For now, we'll do both.
 */

div.nav,
div.navpath {
  background-color: transparent;
  text-align: left;
  margin-top: 1em;
  margin-bottom: 1em;
  border-color: black;
  border-left: none;
  border-right: none;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

div.nav :link, div.nav :visited,
div.navpath :link, div.navpath :visited {
  border-width: 1px;
  border-style: solid;
  border-color: silver;
  padding: 2px;
}

div.nav :link:hover, div.nav :visited:hover,
div.navpath :link:hover, div.navpath :visited:hover {
  border-style: outset;
  border-color: gray;
}

div.nav :active,
div.navpath :active {
  border-style: inset;
  border-color: gray;
}

.body td {
  background-color: transparent;
}

.el {
  text-decoration: inherit;
  font-weight: inherit
}
.elRef {
  font-weight: inherit
}
.code:link, .code:visited {
  text-decoration: inherit;
  font-weight: inherit;
  color: inherit;
}
.codeRef:link {
  font-weight: normal;
  color: inherit;
}
:visited {
  color: silver;
}
:link:hover {
  color: inherit;
  text-decoration: inherit;
  background-color: transparent;
}

h1 {
  line-height: 1.2em;
}

td.memItemLeft, td.memItemRight,
td.memTemplParams, td.memTemplItemLeft, td.memTemplItemRight,
.memtemplate, .memname td {
  font-family: Consolas, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Lucida Console", LucidaTypewriter, monospace;
}

td.memItemLeft, td.memItemRight, td.mdescLeft, td.mdescRight {
  background-color: rgb(95%, 95%, 95%);
  border-color: rgb(65%, 65%, 65%);
  border-width: 1px;
  font-size: smaller;
}

.memItemLeft {
  margin-top: 0.5em;
  border-top-style: solid;
}
.mdescLeft {
  border-bottom-style: solid;
}
.memItemRight {
  border-top-style: solid;
  margin-top: 0.5em;
}
.mdescRight {
  border-bottom-style: solid;
}

.mdescRight {
  font-style: italic;
}

.mdTable {
  background-color: rgb(95%, 95%, 95%);
}

.memproto td code {
  font-family: inherit;
  font-style: italic;
}

td.pass {
  background-color: rgb(50%, 100%, 50%);
}

td.fail {
  background-color: rgb(100%, 50%, 50%);
}

td.invalid {
  background-color: rgb(75%, 75%, 75%);
}

.memitem {
  padding: 0;
}

.memitem table {
  width: auto;
}

.memproto, .memdoc {
  border-width: 1px;
  border-color: rgb(65%, 65%, 65%);
}

.memproto {
  background-color: rgb(90%, 90%, 90%);
  font-weight: inherit;
  font-size: smaller;
  border-top-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  -webkit-border-top-left-radius: 0.6em;
  -webkit-border-top-right-radius: 0.6em;
  -moz-border-radius-topleft: 0.6em;
  -moz-border-radius-topright: 0.6em;
}

.memdoc {
  background-color: rgb(95%, 95%, 95%);
  padding: 2px 5px;
  border-style: solid;
  -webkit-border-bottom-left-radius: 0.6em;
  -webkit-border-bottom-right-radius: 0.6em;
  -moz-border-radius-bottomleft: 0.6em;
  -moz-border-radius-bottomright: 0.6em;
}

.memname {
  font-weight: inherit;
}

div.tabs {
  background-image: url("tab_b-openvrml.png");
}

div.tabs span {
  background-image: url("tab_l-openvrml.png");
}

div.tabs a {
  background-image: url("tab_r-openvrml.png");
  border-bottom: 1px solid #a5a5a5;
}

div.tabs a:link, div.tabs a:visited, div.tabs a:active, div.tabs a:hover {
  color: black;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.note {
  border: 1px solid rgb(65%, 65%, 65%);
  background-color: rgb(95%, 95%, 95%);
  margin-left: 10%;
  margin-right: 10%;
}
</style>
</head>
<body>
<table class="sitenav">
  <tr>
    <th><a href="http://openvrml.org/index" title="Home">Home</a></th>
    <th><a href="http://openvrml.org/download" title="Download">Download</a></th>
    <th><a href="http://openvrml.org/screenshots/index" title="Screen shots">Screen shots</a></th>
    <th><a href="http://openvrml.org/discussion" title="Mailing lists and IRC">Discussion</a></th>
    <th>Documentation</th>
  </tr>
</table>
<div class="body">
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceopenvrml.html">openvrml</a>::<a class="el" href="classopenvrml_1_1bounding__sphere.html">bounding_sphere</a>
  </div>
</div>
<div class="contents">
<h1>openvrml::bounding_sphere Class Reference</h1><!-- doxytag: class="openvrml::bounding_sphere" --><!-- doxytag: inherits="openvrml::bounding_volume" -->A bounding sphere.  
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Inheritance diagram for openvrml::bounding_sphere:</div>
<div class="dynsection">
<p><center><img src="classopenvrml_1_1bounding__sphere__inherit__graph.png" border="0" usemap="#openvrml_1_1bounding__sphere__inherit__map" alt="Inheritance graph"></center>
<map name="openvrml_1_1bounding__sphere__inherit__map">
<area shape="rect" href="classopenvrml_1_1bounding__volume.html" title="A bounding volume." alt="" coords="5,5,195,35"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classopenvrml_1_1bounding__sphere-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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#f90c2ed6a968357345ba2d32257b01b0">bounding_sphere</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct.  <a href="#f90c2ed6a968357345ba2d32257b01b0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#a2ec7ac88414367c1fec37dcd5af6d8c">~bounding_sphere</a> ()  throw ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy.  <a href="#a2ec7ac88414367c1fec37dcd5af6d8c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#ef7081569e962ac0c025ca61d21e69b2">center</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the center coordinates.  <a href="#ef7081569e962ac0c025ca61d21e69b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#a5e1258c503d600898cc1c5d5d47ac26">center</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the center coordinates.  <a href="#a5e1258c503d600898cc1c5d5d47ac26"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#d87cf104850084256385e6f6fabdcaca">radius</a> (float r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the radius.  <a href="#d87cf104850084256385e6f6fabdcaca"></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="classopenvrml_1_1bounding__sphere.html#5c3381f5b2af0ec66bcdc9c115a81029">radius</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the radius.  <a href="#5c3381f5b2af0ec66bcdc9c115a81029"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#595d6cd5c404da441673a2c60448fbe3">do_maximize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extend the bounding sphere to infinity.  <a href="#595d6cd5c404da441673a2c60448fbe3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#cd8d25b95f1d7f41211ae5799413a518">do_maximized</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> is maximized.  <a href="#cd8d25b95f1d7f41211ae5799413a518"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classopenvrml_1_1bounding__volume.html#a59201499b3aca0ef07b45b61252fce3">intersection</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#24fb02d3efb27dc6fcbbd7b09eae7ba2">do_intersect_frustum</a> (const <a class="el" href="classopenvrml_1_1frustum.html">openvrml::frustum</a> &amp;<a class="el" href="classopenvrml_1_1frustum.html">frustum</a>) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect this bvolume with a <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.  <a href="#24fb02d3efb27dc6fcbbd7b09eae7ba2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#ce7c53d96fe1ef155d532fa3a1cb9fde">do_extend</a> (const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extend to enclose <code>p</code>.  <a href="#ce7c53d96fe1ef155d532fa3a1cb9fde"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#12875475a7e852c7f270eed8089ae6b5">do_extend</a> (const <a class="el" href="classopenvrml_1_1axis__aligned__bounding__box.html">axis_aligned_bounding_box</a> &amp;bbox)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extend the bounding volume to enclose <code>bbox</code>.  <a href="#12875475a7e852c7f270eed8089ae6b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#57a316e45816d3b3828f87370e20ae04">do_extend</a> (const <a class="el" href="classopenvrml_1_1bounding__sphere.html">bounding_sphere</a> &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extend this bvolume to enclose the given sphere.  <a href="#57a316e45816d3b3828f87370e20ae04"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#1e79b022e07a6015e6dd4356fdd80fbf">do_enclose</a> (const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;points)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enclose the given set of points.  <a href="#1e79b022e07a6015e6dd4356fdd80fbf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#268579e995b341e0ea3eaef8d368faf0">do_ortho_transform</a> (const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Orthographically transform the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> by <code>t</code>.  <a href="#268579e995b341e0ea3eaef8d368faf0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#4663243ae21516edcd1cecb396e9e498">do_transform</a> (const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transform the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> by <code>t</code>.  <a href="#4663243ae21516edcd1cecb396e9e498"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classopenvrml_1_1bounding__sphere.html#9a25608704de8b3b74dfb0749543f196">center_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The center of the sphere.  <a href="#9a25608704de8b3b74dfb0749543f196"></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="classopenvrml_1_1bounding__sphere.html#883dfb47193b9ab1d03f9f255689122d">radius_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The radius of the sphere.  <a href="#883dfb47193b9ab1d03f9f255689122d"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A bounding sphere. 
<p>
Bounding spheres are very fast to intersect test, but they are fairly loose. If asked to choose just one bounding volume, four out of five graphics professionals surveyed chose the bounding sphere for their patients who chewed bounding volumes. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="f90c2ed6a968357345ba2d32257b01b0"></a><!-- doxytag: member="openvrml::bounding_sphere::bounding_sphere" ref="f90c2ed6a968357345ba2d32257b01b0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">openvrml::bounding_sphere::bounding_sphere           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct. 
<p>

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

<p>
Destroy. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ef7081569e962ac0c025ca61d21e69b2"></a><!-- doxytag: member="openvrml::bounding_sphere::center" ref="ef7081569e962ac0c025ca61d21e69b2" args="(const vec3f &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::center           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the center coordinates. 
<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>c</em>&nbsp;</td><td>new center coordinates. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a5e1258c503d600898cc1c5d5d47ac26"></a><!-- doxytag: member="openvrml::bounding_sphere::center" ref="a5e1258c503d600898cc1c5d5d47ac26" 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> &amp; openvrml::bounding_sphere::center           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="d87cf104850084256385e6f6fabdcaca"></a><!-- doxytag: member="openvrml::bounding_sphere::radius" ref="d87cf104850084256385e6f6fabdcaca" args="(float r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::radius           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>r</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the radius. 
<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>r</em>&nbsp;</td><td>new radius value. </td></tr>
  </table>
</dl>

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

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

</div>
</div><p>
<a class="anchor" name="595d6cd5c404da441673a2c60448fbe3"></a><!-- doxytag: member="openvrml::bounding_sphere::do_maximize" ref="595d6cd5c404da441673a2c60448fbe3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_maximize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Extend the bounding sphere to infinity. 
<p>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#0914efacadd74cce65d9bd3477161974">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="cd8d25b95f1d7f41211ae5799413a518"></a><!-- doxytag: member="openvrml::bounding_sphere::do_maximized" ref="cd8d25b95f1d7f41211ae5799413a518" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool openvrml::bounding_sphere::do_maximized           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> is maximized. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> if the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> has been maximized; <code>false</code> otherwise. </dd></dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#778eec24aab898559bc069999b417cf1">openvrml::bounding_volume</a>.</p>

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

<p>
Intersect this bvolume with a <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>. 
<p>
The test assumes that the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a> is in the canonical looking-down-negative-z orientation, so the bounding volume is going to have to be transformed into the frustum's space. (Alternatives include transforming the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a> into the bounding volume's space, or transforming both of them into the projection space. Lots of tradeoffs involved, but transforming the bounding volume is probably the simplest approach overall.)<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em><a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a></em>&nbsp;</td><td>the <a class="el" href="classopenvrml_1_1frustum.html" title="A view frustum.">frustum</a>.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>inside, outside, or partial.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classopenvrml_1_1bounding__volume.html#893677371635792ce7f3e7474651b008" title="Transform this bounding volume using an affine transfom.">bounding_volume::transform</a> <p>
<a class="el" href="classopenvrml_1_1bounding__volume.html#75a351cfa987ac01b1477963f3edc338" title="Transform this bounding volume using an orthogonal transfom.">bounding_volume::ortho_transform</a> </dd></dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#afaaa2f60e3ac1bb5400d2dde465924a">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="ce7c53d96fe1ef155d532fa3a1cb9fde"></a><!-- doxytag: member="openvrml::bounding_sphere::do_extend" ref="ce7c53d96fe1ef155d532fa3a1cb9fde" args="(const vec3f &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_extend           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Extend to enclose <code>p</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>p</em>&nbsp;</td><td>a point. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#8b54cdd699ce9d069c03aecc192e162b">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="12875475a7e852c7f270eed8089ae6b5"></a><!-- doxytag: member="openvrml::bounding_sphere::do_extend" ref="12875475a7e852c7f270eed8089ae6b5" args="(const axis_aligned_bounding_box &amp;bbox)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_extend           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1axis__aligned__bounding__box.html">axis_aligned_bounding_box</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bbox</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Extend the bounding volume to enclose <code>bbox</code>. 
<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Implement me!</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>bbox</em>&nbsp;</td><td>an axis-aligned bounding box </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#97d18f864190828330058f11a792a602">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="57a316e45816d3b3828f87370e20ae04"></a><!-- doxytag: member="openvrml::bounding_sphere::do_extend" ref="57a316e45816d3b3828f87370e20ae04" args="(const bounding_sphere &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_extend           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classopenvrml_1_1bounding__sphere.html">bounding_sphere</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Extend this bvolume to enclose the given sphere. 
<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>b</em>&nbsp;</td><td>a bounding sphere </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#dcba066f474dbc66b8589d0d437d3ad6">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="1e79b022e07a6015e6dd4356fdd80fbf"></a><!-- doxytag: member="openvrml::bounding_sphere::do_enclose" ref="1e79b022e07a6015e6dd4356fdd80fbf" args="(const std::vector&lt; vec3f &gt; &amp;points)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_enclose           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="structopenvrml_1_1vec3f.html">vec3f</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>points</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enclose the given set of points. 
<p>
This resets the volume from any previous values.<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>points</em>&nbsp;</td><td>points. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#f6e43898853a61cf2c91bfced9bba508">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="268579e995b341e0ea3eaef8d368faf0"></a><!-- doxytag: member="openvrml::bounding_sphere::do_ortho_transform" ref="268579e995b341e0ea3eaef8d368faf0" args="(const mat4f &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_ortho_transform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Orthographically transform the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> by <code>t</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>t</em>&nbsp;</td><td>transformation matrix. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#613f4c55082058c84c078b011f2f374a">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<a class="anchor" name="4663243ae21516edcd1cecb396e9e498"></a><!-- doxytag: member="openvrml::bounding_sphere::do_transform" ref="4663243ae21516edcd1cecb396e9e498" args="(const mat4f &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void openvrml::bounding_sphere::do_transform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structopenvrml_1_1mat4f.html">mat4f</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform the <a class="el" href="classopenvrml_1_1bounding__sphere.html" title="A bounding sphere.">bounding_sphere</a> by <code>t</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>t</em>&nbsp;</td><td>transformation matrix. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classopenvrml_1_1bounding__volume.html#64fb78652463191bd475e3599f43b0ea">openvrml::bounding_volume</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="9a25608704de8b3b74dfb0749543f196"></a><!-- doxytag: member="openvrml::bounding_sphere::center_" ref="9a25608704de8b3b74dfb0749543f196" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1bounding__sphere.html#9a25608704de8b3b74dfb0749543f196">openvrml::bounding_sphere::center_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The center of the sphere. 
<p>

</div>
</div><p>
<a class="anchor" name="883dfb47193b9ab1d03f9f255689122d"></a><!-- doxytag: member="openvrml::bounding_sphere::radius_" ref="883dfb47193b9ab1d03f9f255689122d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classopenvrml_1_1bounding__sphere.html#883dfb47193b9ab1d03f9f255689122d">openvrml::bounding_sphere::radius_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The radius of the sphere. 
<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>