[896] | 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> |
---|