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 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 List</span></a></li> |
---|
16 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
17 | <li><a href="functions.html"><span>Class 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> |
---|
22 | Inherits <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="()" --> |
---|
28 | float </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"> </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 &radion)" --> |
---|
32 | void </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> &radion)</td></tr> |
---|
33 | |
---|
34 | <tr><td class="mdescLeft"> </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 &ray, float &depth, float rayMin, float rayMax)" --> |
---|
36 | bool </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> &ray, float &depth, float rayMin, float rayMax)</td></tr> |
---|
37 | |
---|
38 | <tr><td class="mdescLeft"> </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 | </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"> </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="()" --> |
---|
45 | void </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"> </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)" --> |
---|
49 | double </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"> </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 &radion)" --> |
---|
53 | void </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> &radion)</td></tr> |
---|
54 | |
---|
55 | <tr><td class="mdescLeft"> </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> * </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"> </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="" --> |
---|
62 | unsigned int </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"> </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="" --> |
---|
66 | unsigned int </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"> </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="" --> |
---|
70 | double </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"> </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="" --> |
---|
74 | double * </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"> </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 </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"> </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> |
---|
83 | 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. |
---|
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 |
---|
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> |
---|