Noise-1.0.0: libnoise/noise/doc/html/classnoise_1_1model_1_1Sphere.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>libnoise: Documentation</title>
<link rel='stylesheet' type='text/css' href='doxygen.css'>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>
</head>
<body>
<table class='layout'>
<tr>
<td class='sidebar' rowspan='2'>
<p>
Navigation menu
</p>
<ul class='toc'>
<li>
<a href='http://libnoise.sourceforge.net/index.html'>Main</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/downloads/index.html'>Downloads</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/coherentnoise/index.html'>What is coherent noise?</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/noisegen/index.html'>Generating coherent noise</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/glossary/index.html'>Glossary</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/examples/index.html'>Examples</a>
<ul class='toc'>
<li>
<a href='http://libnoise.sourceforge.net/examples/textures/index.html'>Procedural textures</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/examples/complexplanet/index.html'>Complex planetary surface</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/examples/worms/index.html'>Perlin worms</a>
</li>
</ul>
</li>
<li>
<strong>Docs</strong>
</li>
<li>
<a href='tutorials/index.html'>Tutorials</a>
<ul class='toc'>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial1.html'>Tutorial 1</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial2.html'>Tutorial 2</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial3.html'>Tutorial 3</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial4.html'>Tutorial 4</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial5.html'>Tutorial 5</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial6.html'>Tutorial 6</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial7.html'>Tutorial 7</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/tutorials/tutorial8.html'>Tutorial 8</a>
</li>
</ul>
</li>
<li>
<a href='http://libnoise.sourceforge.net/cvs/index.html'>CVS</a>
</li>
<li>
<a href='http://libnoise.sourceforge.net/links/index.html'>Links</a>
</li>
</ul>
</td>
<td class='header'>
<p>
<img src='libnoise.png' alt='libnoise logo'>
</p>
<p>
A portable, open-source, coherent noise-generating library for C++
</p>
<hr>
</td>
</tr>
<tr>
<td class='content'>
<!-- start rich gooey content -->
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a></div>
<h1>noise::model::Sphere Class Reference<br>
<small>
[<a class="el" href="group__models.html">Models</a>]</small>
</h1><code>#include <<a class="el" href="sphere_8h-source.html">sphere.h</a>></code>
<p>
<a href="classnoise_1_1model_1_1Sphere-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Model that defines the surface of a sphere.
<p>
<div align="center">
<img src="modelsphere.png" alt="modelsphere.png">
</div>
<p>
This model returns an output value from a noise module given the coordinates of an input value located on the surface of a sphere.<p>
To generate an output value, pass the (latitude, longitude) coordinates of an input value to the <a class="el" href="classnoise_1_1model_1_1Sphere.html#a3">GetValue()</a> method.<p>
This model is useful for creating:<ul>
<li>seamless textures that can be mapped onto a sphere</li><li>terrain height maps for entire planets</li></ul>
<p>
This sphere has a radius of 1.0 unit and its center is located at the origin.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0" doxytag="noise::model::Sphere::Sphere"></a>
</td><td class="memItemRight" valign="bottom"><a class="el" href="classnoise_1_1model_1_1Sphere.html#a0">Sphere</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classnoise_1_1model_1_1Sphere.html#a1">Sphere</a> (const <a class="el" href="classnoise_1_1module_1_1Module.html">module::Module</a> &module)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classnoise_1_1module_1_1Module.html">module::Module</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classnoise_1_1model_1_1Sphere.html#a2">GetModule</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the noise module that is used to generate the output values. <a href="#a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classnoise_1_1model_1_1Sphere.html#a3">GetValue</a> (double lat, double lon) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the output value from the noise module given the (latitude, longitude) coordinates of the specified input value located on the surface of the sphere. <a href="#a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classnoise_1_1model_1_1Sphere.html#a4">SetModule</a> (const <a class="el" href="classnoise_1_1module_1_1Module.html">module::Module</a> &module)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the noise module that is used to generate the output values. <a href="#a4"></a><br></td></tr>
</table>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="a1" doxytag="noise::model::Sphere::Sphere"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">Sphere::Sphere </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">const <a class="el" href="classnoise_1_1module_1_1Module.html">module::Module</a> & </td>
<td class="mdname1" valign="top" nowrap> <em>module</em> </td>
<td class="md" valign="top"> ) </td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Constructor.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>module</em> </td><td>The noise module that is used to generate the output values. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a2" doxytag="noise::model::Sphere::GetModule"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">const <a class="el" href="classnoise_1_1module_1_1Module.html">module::Module</a>& noise::model::Sphere::GetModule </td>
<td class="md" valign="top">( </td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top"> ) </td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Returns the noise module that is used to generate the output values.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>A reference to the noise module.</dd></dl>
<dl compact><dt><b>Precondition:</b></dt><dd>A noise module was passed to the <a class="el" href="classnoise_1_1model_1_1Sphere.html#a4">SetModule()</a> method. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="a3" doxytag="noise::model::Sphere::GetValue"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">double Sphere::GetValue </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">double </td>
<td class="mdname" nowrap> <em>lat</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double </td>
<td class="mdname" nowrap> <em>lon</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">) </td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Returns the output value from the noise module given the (latitude, longitude) coordinates of the specified input value located on the surface of the sphere.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>lat</em> </td><td>The latitude of the input value, in degrees. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lon</em> </td><td>The longitude of the input value, in degrees.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The output value from the noise module.</dd></dl>
<dl compact><dt><b>Precondition:</b></dt><dd>A noise module was passed to the <a class="el" href="classnoise_1_1model_1_1Sphere.html#a4">SetModule()</a> method.</dd></dl>
This output value is generated by the noise module passed to the <a class="el" href="classnoise_1_1model_1_1Sphere.html#a4">SetModule()</a> method.<p>
Use a negative latitude if the input value is located on the southern hemisphere.<p>
Use a negative longitude if the input value is located on the western hemisphere. </td>
</tr>
</table>
<a class="anchor" name="a4" doxytag="noise::model::Sphere::SetModule"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void noise::model::Sphere::SetModule </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">const <a class="el" href="classnoise_1_1module_1_1Module.html">module::Module</a> & </td>
<td class="mdname1" valign="top" nowrap> <em>module</em> </td>
<td class="md" valign="top"> ) </td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Sets the noise module that is used to generate the output values.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>module</em> </td><td>The noise module that is used to generate the output values.</td></tr>
</table>
</dl>
This noise module must exist for the lifetime of this object, until you pass a new noise module to this method. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="sphere_8h-source.html">sphere.h</a><li>sphere.cpp</ul>
<!-- end rich gooey content -->
</td>
</tr>
<tr>
<td class='footer' colspan='2'>
<p>
© 2003-2005 Jason Bevins
</p>
<p>
<a href='http://www.doxygen.org/'><img src='doxygen.png' alt='Doxygen logo'></a>
<br>
The libnoise source documentation was generated by <a href='http://www.doxygen.org/'>doxygen</a> 1.3.9.1
</p>
</td>
</tr>
</table>
</body>
</html>