source: Documentation/D5.3 Stand-alone computation package for illumination algorithms/appendix/pathmap/html/class_intersectable.html @ 2910

Revision 2910, 5.7 KB checked in by hbeneit, 16 years ago (diff)
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>Path Map Module: Intersectable Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.4.6-NO -->
8<div class="tabs">
9  <ul>
10    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
12  </ul></div>
13<div class="tabs">
14  <ul>
15    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
16    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
17    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
18  </ul></div>
19<h1>Intersectable Class Reference</h1><!-- doxytag: class="Intersectable" -->Base interface for all object types that can be ray-traced. The most important implementing classes are <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> and Transformed (usually referring to a <a class="el" href="class_triangle_mesh.html">TriangleMesh</a>). A <a class="el" href="class_k_d_tree.html">KDTree</a> will build a hierarchy of Intersectables. TraingleMesh::Patch is also an implementing class, and a <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> contains a <a class="el" href="class_k_d_tree.html">KDTree</a> of patches. 
20<a href="#_details">More...</a>
21<p>
22Inherited by Cylinder, Occluder, PlaneXAligned, PlaneYAligned, PlaneZAligned, Sphere, Transformed, Triangle, <a class="el" href="class_triangle_mesh.html">TriangleMesh</a>, and <a class="el" href="class_triangle_mesh_1_1_patch.html">TriangleMesh::Patch</a>.
23<p>
24<a href="class_intersectable-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
25<tr><td></td></tr>
26<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
27<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="798f03c926e86390b8113c0adbf16a41"></a><!-- doxytag: member="Intersectable::intersect" ref="798f03c926e86390b8113c0adbf16a41" args="(const Ray &amp;ray, float &amp;depth, float rayMin, float rayMax)=0" -->
28virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intersectable.html#798f03c926e86390b8113c0adbf16a41">intersect</a> (const <a class="el" href="class_ray.html">Ray</a> &amp;ray, float &amp;depth, float rayMin, float rayMax)=0</td></tr>
29
30<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pure virtual function, must be implemented to carry out the intersection test <br></td></tr>
31<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05ee8495dcdbb6b70153f88a8f85b70e"></a><!-- doxytag: member="Intersectable::getSurfaceArea" ref="05ee8495dcdbb6b70153f88a8f85b70e" args="()" -->
32virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intersectable.html#05ee8495dcdbb6b70153f88a8f85b70e">getSurfaceArea</a> ()</td></tr>
33
34<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the surface area <br></td></tr>
35<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fb265e2cbbc5f878aebd63a063ffb971"></a><!-- doxytag: member="Intersectable::sampleSurface" ref="fb265e2cbbc5f878aebd63a063ffb971" args="(Radion &amp;radion)" -->
36virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intersectable.html#fb265e2cbbc5f878aebd63a063ffb971">sampleSurface</a> (<a class="el" href="class_radion.html">Radion</a> &amp;radion)</td></tr>
37
38<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return a random surface point <br></td></tr>
39<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
40<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df511e689ff895cf7fa541b40b79d2ab"></a><!-- doxytag: member="Intersectable::bbox" ref="df511e689ff895cf7fa541b40b79d2ab" args="" -->
41BoundingBox&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intersectable.html#df511e689ff895cf7fa541b40b79d2ab">bbox</a></td></tr>
42
43<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bounding box for the kd-tree <br></td></tr>
44<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08e20542b8c62a37bf243d23b82ce975"></a><!-- doxytag: member="Intersectable::lastTestedRayId" ref="08e20542b8c62a37bf243d23b82ce975" args="" -->
45unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intersectable.html#08e20542b8c62a37bf243d23b82ce975">lastTestedRayId</a></td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">result of the last intersection test <br></td></tr>
48</table>
49<hr><a name="_details"></a><h2>Detailed Description</h2>
50Base interface for all object types that can be ray-traced. The most important implementing classes are <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> and Transformed (usually referring to a <a class="el" href="class_triangle_mesh.html">TriangleMesh</a>). A <a class="el" href="class_k_d_tree.html">KDTree</a> will build a hierarchy of Intersectables. TraingleMesh::Patch is also an implementing class, and a <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> contains a <a class="el" href="class_k_d_tree.html">KDTree</a> of patches.
51<p>
52<hr>The documentation for this class was generated from the following files:<ul>
53<li>Intersectable.hpp<li>Intersectable.cpp</ul>
54<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 27 17:17:42 2006 for Path Map Module by&nbsp;
55<a href="http://www.doxygen.org/index.html">
56<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address>
57</body>
58</html>
Note: See TracBrowser for help on using the repository browser.