source: GTP/trunk/App/Demos/Illum/PathMap/doc/html/class_triangle_mesh.html @ 896

Revision 896, 9.6 KB checked in by szirmay, 18 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: TriangleMesh 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>TriangleMesh Class Reference</h1><!-- doxytag: class="TriangleMesh" --><!-- doxytag: inherits="Intersectable" -->ray-tracable representaion of a mesh <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> encapsulates a kd-tree containing triangles. It can be constructed using the vertex and index buffers of a mesh. Ray-intersection and random surface sampling are supported. 
20<a href="#_details">More...</a>
21<p>
22Inherits <a class="el" href="class_intersectable.html">Intersectable</a>.
23<p>
24<a href="class_triangle_mesh-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="ee9535fa24dd5f690fa04837ef99868f"></a><!-- doxytag: member="TriangleMesh::getSurfaceArea" ref="ee9535fa24dd5f690fa04837ef99868f" args="()" -->
28float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#ee9535fa24dd5f690fa04837ef99868f">getSurfaceArea</a> ()</td></tr>
29
30<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return total surface area <br></td></tr>
31<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6dc3d30fa338096e735a557fc8e131e7"></a><!-- doxytag: member="TriangleMesh::sampleSurface" ref="6dc3d30fa338096e735a557fc8e131e7" args="(Radion &amp;radion)" -->
32void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#6dc3d30fa338096e735a557fc8e131e7">sampleSurface</a> (<a class="el" href="class_radion.html">Radion</a> &amp;radion)</td></tr>
33
34<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return random surface radion <br></td></tr>
35<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="37a570b20be386cd5c64dc0d3e8b3e32"></a><!-- doxytag: member="TriangleMesh::intersect" ref="37a570b20be386cd5c64dc0d3e8b3e32" args="(const Ray &amp;ray, float &amp;depth, float rayMin, float rayMax)" -->
36bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#37a570b20be386cd5c64dc0d3e8b3e32">intersect</a> (const <a class="el" href="class_ray.html">Ray</a> &amp;ray, float &amp;depth, float rayMin, float rayMax)</td></tr>
37
38<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pure virtual function, must be implemented to carry out the intersection test <br></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f772b345cf7ef90766c1567779198f4"></a><!-- doxytag: member="TriangleMesh::TriangleMesh" ref="6f772b345cf7ef90766c1567779198f4" args="(Material *material, unsigned short *indexBuffer, unsigned int nFaces, D3DVERTEX *vertexBuffer, unsigned int nVertices)" -->
40&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#6f772b345cf7ef90766c1567779198f4">TriangleMesh</a> (<a class="el" href="class_material.html">Material</a> *material, unsigned short *indexBuffer, unsigned int nFaces, D3DVERTEX *vertexBuffer, unsigned int nVertices)</td></tr>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">constructor to build a <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> from mesh buffers. Vertex format has to be per struct D3DVERTEX. <br></td></tr>
43<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
44<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73b47a8bc57a8bd7d354422020c2c367"></a><!-- doxytag: member="TriangleMesh::buildAreaTree" ref="73b47a8bc57a8bd7d354422020c2c367" args="()" -->
45void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#73b47a8bc57a8bd7d354422020c2c367">buildAreaTree</a> ()</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">build area tree from root <br></td></tr>
48<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="613f9899354739cb7880259f80cacb92"></a><!-- doxytag: member="TriangleMesh::buildAreaTree" ref="613f9899354739cb7880259f80cacb92" args="(unsigned int u)" -->
49double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#613f9899354739cb7880259f80cacb92">buildAreaTree</a> (unsigned int u)</td></tr>
50
51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">build area tree from given node (recursively) <br></td></tr>
52<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d9f8cbcb84b9bef9d8463d459eeca25"></a><!-- doxytag: member="TriangleMesh::sampleSurface" ref="5d9f8cbcb84b9bef9d8463d459eeca25" args="(unsigned int u, double rnd, Radion &amp;radion)" -->
53void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#5d9f8cbcb84b9bef9d8463d459eeca25">sampleSurface</a> (unsigned int u, double rnd, <a class="el" href="class_radion.html">Radion</a> &amp;radion)</td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return random surface radion from area subtree under node u (recursive) <br></td></tr>
56<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
57<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="012bf65baa1dbf2d87ac7fc3bec789d6"></a><!-- doxytag: member="TriangleMesh::meshPatches" ref="012bf65baa1dbf2d87ac7fc3bec789d6" args="" -->
58<a class="el" href="class_triangle_mesh_1_1_patch.html">TriangleMesh::Patch</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#012bf65baa1dbf2d87ac7fc3bec789d6">meshPatches</a></td></tr>
59
60<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A triangle with ray-intersection. mesh triangles array. <br></td></tr>
61<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32a7c0637945c562cd926d5ba9018faa"></a><!-- doxytag: member="TriangleMesh::nMeshPatches" ref="32a7c0637945c562cd926d5ba9018faa" args="" -->
62unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#32a7c0637945c562cd926d5ba9018faa">nMeshPatches</a></td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of mesh triangles <br></td></tr>
65<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d73161d8fb9bb000f920f9cc292b3075"></a><!-- doxytag: member="TriangleMesh::nAreaTreeNodes" ref="d73161d8fb9bb000f920f9cc292b3075" args="" -->
66unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#d73161d8fb9bb000f920f9cc292b3075">nAreaTreeNodes</a></td></tr>
67
68<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of nodes in area tree (for selection ~ area) <br></td></tr>
69<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e705baaf11aa592ef6ac3a9d8d60c4ce"></a><!-- doxytag: member="TriangleMesh::surfaceArea" ref="e705baaf11aa592ef6ac3a9d8d60c4ce" args="" -->
70double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#e705baaf11aa592ef6ac3a9d8d60c4ce">surfaceArea</a></td></tr>
71
72<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">total surface <br></td></tr>
73<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3cc9853b69d4bf4e7de9c45840e7fd37"></a><!-- doxytag: member="TriangleMesh::areaTree" ref="3cc9853b69d4bf4e7de9c45840e7fd37" args="" -->
74double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh.html#3cc9853b69d4bf4e7de9c45840e7fd37">areaTree</a></td></tr>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">area tree nodes array <br></td></tr>
77<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
78<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_triangle_mesh_1_1_patch.html">Patch</a></td></tr>
79
80<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A triangle with ray-intersection.  <a href="class_triangle_mesh_1_1_patch.html#_details">More...</a><br></td></tr>
81</table>
82<hr><a name="_details"></a><h2>Detailed Description</h2>
83ray-tracable representaion of a mesh <a class="el" href="class_triangle_mesh.html">TriangleMesh</a> encapsulates a kd-tree containing triangles. It can be constructed using the vertex and index buffers of a mesh. Ray-intersection and random surface sampling are supported.
84<p>
85<hr>The documentation for this class was generated from the following files:<ul>
86<li>TriangleMesh.h<li>TriangleMesh.cpp</ul>
87<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 27 17:17:42 2006 for Path Map Module by&nbsp;
88<a href="http://www.doxygen.org/index.html">
89<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address>
90</body>
91</html>
Note: See TracBrowser for help on using the repository browser.