aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03616.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a03616.html386
1 files changed, 386 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03616.html b/docs/doxygen/nel/a03616.html
new file mode 100644
index 00000000..5e55c90d
--- /dev/null
+++ b/docs/doxygen/nel/a03616.html
@@ -0,0 +1,386 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLMISC::CTriangle class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLMISC::CTriangle Class Reference</h1><code>#include &lt;<a class="el" href="a06585.html">triangle.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NLMISC::CTriangle:
+<p><center><img src="a03616.png" usemap="#NLMISC::CTriangle_map" border="0" alt=""></center>
+<map name="NLMISC::CTriangle_map">
+<area href="a03617.html" alt="NLMISC::CTriangleColor" shape="rect" coords="0,56,168,80">
+<area href="a03618.html" alt="NLMISC::CTriangleColorUV" shape="rect" coords="178,56,346,80">
+<area href="a03621.html" alt="NLMISC::CTriangleUV" shape="rect" coords="356,56,524,80">
+<area href="a03620.html" alt="NL3D::CTrianglePatch" shape="rect" coords="356,112,524,136">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A simple triangles of 3 points. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06585.html#l00048">48</a> of file <a class="el" href="a06585.html">triangle.h</a>.<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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTriangleUVa0">computeGradient</a> (float c0, float c1, float c2, <a class="el" href="a03128.html">CVector</a> &amp;grad) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTrianglea1">CTriangle</a> (const <a class="el" href="a03128.html">CVector</a> &amp;a, const <a class="el" href="a03128.html">CVector</a> &amp;b, const <a class="el" href="a03128.html">CVector</a> &amp;c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NLMISC_1_1CTrianglea1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTrianglea2">CTriangle</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NLMISC_1_1CTrianglea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTriangleUVa2">intersect</a> (const <a class="el" href="a03128.html">CVector</a> &amp;p0, const <a class="el" href="a03128.html">CVector</a> &amp;p1, <a class="el" href="a03128.html">CVector</a> &amp;hit, const class <a class="el" href="a03082.html">NLMISC::CPlane</a> &amp;plane) const </td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CTrianglea2" doxytag="NLMISC::CTriangle::CTriangle" ></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"> NLMISC::CTriangle::CTriangle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06585.html#l00055">55</a> of file <a class="el" href="a06585.html">triangle.h</a>.
+<p>
+<div class="fragment"><pre>00055 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CTrianglea1" doxytag="NLMISC::CTriangle::CTriangle" ></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"> NLMISC::CTriangle::CTriangle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06585.html#l00057">57</a> of file <a class="el" href="a06585.html">triangle.h</a>.
+<p>
+<div class="fragment"><pre>00057 : <a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>(a), <a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>(b), <a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>(c) {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CTriangleUVa0" doxytag="NLMISC::CTriangle::computeGradient" ></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 NLMISC::CTriangle::computeGradient </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>c0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>grad</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+3D Gradient computation. Given 3 values at the 3 corners 'ci' (gouraud, uv....), this method compute the gradients Grad. The formula to compute the interpolated value according to a 3d position 'v' in space is then simply: <br>
+ c(v)= c0 + grad*(v-V0)
+<p>
+Definition at line <a class="el" href="a06584.html#l00067">67</a> of file <a class="el" href="a06584.html">triangle.cpp</a>.
+<p>
+References <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a06585.html#l00051">V0</a>, <a class="el" href="a06585.html#l00051">V1</a>, <a class="el" href="a06585.html#l00051">V2</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>.
+<p>
+Referenced by <a class="el" href="a06481.html#l00078">NL3D::BuildTangentSpace()</a>, <a class="el" href="a05937.html#l00066">NL3D::CLodCharacterShapeBuild::compile()</a>, <a class="el" href="a06497.html#l03156">NL3D::CTessFace::computeTesselatedPos()</a>, <a class="el" href="a06725.html#l00247">NL3D::CVisualCollisionEntity::computeUvForPos()</a>, and <a class="el" href="a06768.html#l00444">RenderTriangle()</a>.
+<p>
+<div class="fragment"><pre>00068 {
+00069 <span class="comment">// Compute basis for 2D triangle.</span>
+00070 CVector locI, locJ, locK;
+00071 locI= <a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>-<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>;
+00072 locJ= <a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>-<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>;
+00073 locK= locI^locJ;
+00074 locK.normalize();
+00075 locI.normalize();
+00076 locJ= locK^locI;
+00077
+00078 <span class="comment">// compute triangle in 2D.</span>
+00079 <a class="code" href="a03616.html">CTriangle</a> tri2D;
+00080 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>.set(0,0,0);
+00081 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>.x= (<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>-<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>)*locI;
+00082 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>.y= (<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>-<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>)*locJ;
+00083 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>.z= 0;
+00084 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.x= (<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>-<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>)*locI;
+00085 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.y= (<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>-<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>)*locJ;
+00086 tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.z= 0;
+00087
+00088 <span class="comment">// Compute 2 2D Gradients.</span>
+00089 <span class="keywordtype">float</span> dx01= tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>.x - tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.x;
+00090 <span class="keywordtype">float</span> dx02= tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>.x - tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.x;
+00091 <span class="keywordtype">float</span> dy01= tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo3">V0</a>.y - tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.y;
+00092 <span class="keywordtype">float</span> dy02= tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo4">V1</a>.y - tri2D.<a class="code" href="a03616.html#NLMISC_1_1CTriangleUVo5">V2</a>.y;
+00093 <span class="keywordtype">float</span> dc01= c0 - c2;
+00094 <span class="keywordtype">float</span> dc02= c1 - c2;
+00095 <span class="keywordtype">float</span> gd= dx02*dy01 - dx01*dy02;
+00096
+00097 <span class="keywordtype">float</span> OOgd;
+00098 <span class="keywordflow">if</span>(gd!=0)
+00099 OOgd= 1.0f/gd;
+00100 <span class="keywordflow">else</span>
+00101 OOgd= 1; <span class="comment">// for now, do not manage correctly this case.</span>
+00102 <span class="keywordtype">float</span> gx, gy;
+00103 gx= (dc02*dy01 - dc01*dy02) * OOgd;
+00104 gy= (dc01*dx02 - dc02*dx01) * OOgd;
+00105
+00106 <span class="comment">// transform in 3D.</span>
+00107 grad= locI*gx + locJ*gy;
+00108 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CTriangleUVa2" doxytag="NLMISC::CTriangle::intersect" ></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"> bool NLMISC::CTriangle::intersect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>p0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>hit</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const class <a class="el" href="a03082.html">NLMISC::CPlane</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>plane</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Intersection detection with a segment. You must pass the normalized plane of the triangle as parameter.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>p0</em>&nbsp;</td><td>is the first point of the segment. </td></tr>
+ <tr><td valign=top><em>p1</em>&nbsp;</td><td>is the second point of the segment. </td></tr>
+ <tr><td valign=top><em>hit</em>&nbsp;</td><td>will receive the coordinate of the intersection if the method returns true. </td></tr>
+ <tr><td valign=top><em>plane</em>&nbsp;</td><td>is the plane of the triangle. Build it like this: <pre class="fragment"><div> CPlane plane;
+ plane.make (triangle.V0, triangle.V1, triangle.V2);
+</div></pre></td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>true if the segement [p0,p1] intersects the triangle else false.</dd></dl>
+
+<p>
+Referenced by <a class="el" href="a05824.html#l00633">NL3D::CInstanceLighter::computeSunContribution()</a>, <a class="el" href="a06768.html#l03139">NL3D::CZoneLighter::CPointLightRT::testRaytrace()</a>, and <a class="el" href="a05824.html#l00954">NL3D::CInstanceLighter::CPointLightRT::testRaytrace()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CTriangleUVo3" doxytag="NLMISC::CTriangle::V0" ></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"> <a class="el" href="a03128.html">CVector</a> <a class="el" href="a03616.html#NLMISC_1_1CTriangleUVo3">NLMISC::CTriangle::V0</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06585.html#l00051">51</a> of file <a class="el" href="a06585.html">triangle.h</a>.
+<p>
+Referenced by <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06155.html#l00335">NL3D::CPatch::addTileTrianglesInBBox()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a05862.html#l03658">NL3D::CLandscape::appendToShadowPolyReceiver()</a>, <a class="el" href="a05862.html#l02380">NL3D::CLandscape::buildCollideFaces()</a>, <a class="el" href="a06481.html#l00078">NL3D::BuildTangentSpace()</a>, <a class="el" href="a06155.html#l00410">NL3D::CPatchQuadBlock::buildTileTriangles()</a>, <a class="el" href="a06481.html#l00069">NL3D::BuildTriFromMB()</a>, <a class="el" href="a05503.html#l00087">NL3D::CBSPTree&lt; T &gt;::CBSPNode::CBSPNode()</a>, <a class="el" href="a05937.html#l00066">NL3D::CLodCharacterShapeBuild::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a06584.html#l00067">computeGradient()</a>, <a class="el" href="a06497.html#l03156">NL3D::CTessFace::computeTesselatedPos()</a>, <a class="el" href="a06725.html#l00247">NL3D::CVisualCollisionEntity::computeUvForPos()</a>, <a class="el" href="a06190.html#l01928">NLMISC::CPolygon2D::CPolygon2D()</a>, <a class="el" href="a05657.html#l00575">NL3D::CDriverUser::drawTriangle()</a>, <a class="el" href="a06034.html#l00467">NL3D::CMiniCol::getFaces()</a>, <a class="el" href="a06034.html#l00341">NL3D::CMiniCol::getGroundNormal()</a>, <a class="el" href="a05618.html#l00172">NL3D::CCubeGrid&lt; TCell &gt;::insert()</a>, <a class="el" href="a05503.html#l00101">NL3D::CBSPTree&lt; T &gt;::CBSPNode::insert()</a>, <a class="el" href="a06768.html#l00920">NL3D::CZoneLighter::light()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a05618.html#l00337">NL3D::CCubeGrid&lt; TCell &gt;::project()</a>, <a class="el" href="a06768.html#l00444">RenderTriangle()</a>, <a class="el" href="a06725.html#l00211">NL3D::CVisualCollisionEntity::snapToGround()</a>, <a class="el" href="a06034.html#l00242">NL3D::CMiniCol::snapToGround()</a>, <a class="el" href="a06725.html#l00366">NL3D::CVisualCollisionEntity::triangleIntersect()</a>, <a class="el" href="a06725.html#l00336">NL3D::CVisualCollisionEntity::triangleIntersect2DCeil()</a>, and <a class="el" href="a06725.html#l00299">NL3D::CVisualCollisionEntity::triangleIntersect2DGround()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CTriangleUVo4" doxytag="NLMISC::CTriangle::V1" ></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"> <a class="el" href="a03128.html">CVector</a> <a class="el" href="a03616.html#NLMISC_1_1CTriangleUVo4">NLMISC::CTriangle::V1</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06585.html#l00051">51</a> of file <a class="el" href="a06585.html">triangle.h</a>.
+<p>
+Referenced by <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06155.html#l00335">NL3D::CPatch::addTileTrianglesInBBox()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a05862.html#l03658">NL3D::CLandscape::appendToShadowPolyReceiver()</a>, <a class="el" href="a05862.html#l02380">NL3D::CLandscape::buildCollideFaces()</a>, <a class="el" href="a06481.html#l00078">NL3D::BuildTangentSpace()</a>, <a class="el" href="a06155.html#l00410">NL3D::CPatchQuadBlock::buildTileTriangles()</a>, <a class="el" href="a06481.html#l00069">NL3D::BuildTriFromMB()</a>, <a class="el" href="a05503.html#l00087">NL3D::CBSPTree&lt; T &gt;::CBSPNode::CBSPNode()</a>, <a class="el" href="a05937.html#l00066">NL3D::CLodCharacterShapeBuild::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a06584.html#l00067">computeGradient()</a>, <a class="el" href="a06497.html#l03156">NL3D::CTessFace::computeTesselatedPos()</a>, <a class="el" href="a06190.html#l01928">NLMISC::CPolygon2D::CPolygon2D()</a>, <a class="el" href="a05657.html#l00575">NL3D::CDriverUser::drawTriangle()</a>, <a class="el" href="a06034.html#l00467">NL3D::CMiniCol::getFaces()</a>, <a class="el" href="a06034.html#l00341">NL3D::CMiniCol::getGroundNormal()</a>, <a class="el" href="a05618.html#l00172">NL3D::CCubeGrid&lt; TCell &gt;::insert()</a>, <a class="el" href="a05503.html#l00101">NL3D::CBSPTree&lt; T &gt;::CBSPNode::insert()</a>, <a class="el" href="a06768.html#l00920">NL3D::CZoneLighter::light()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a05618.html#l00337">NL3D::CCubeGrid&lt; TCell &gt;::project()</a>, <a class="el" href="a06725.html#l00211">NL3D::CVisualCollisionEntity::snapToGround()</a>, <a class="el" href="a06034.html#l00242">NL3D::CMiniCol::snapToGround()</a>, <a class="el" href="a06725.html#l00366">NL3D::CVisualCollisionEntity::triangleIntersect()</a>, <a class="el" href="a06725.html#l00336">NL3D::CVisualCollisionEntity::triangleIntersect2DCeil()</a>, and <a class="el" href="a06725.html#l00299">NL3D::CVisualCollisionEntity::triangleIntersect2DGround()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CTriangleUVo5" doxytag="NLMISC::CTriangle::V2" ></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"> <a class="el" href="a03128.html">CVector</a> <a class="el" href="a03616.html#NLMISC_1_1CTriangleUVo5">NLMISC::CTriangle::V2</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06585.html#l00051">51</a> of file <a class="el" href="a06585.html">triangle.h</a>.
+<p>
+Referenced by <a class="el" href="a06034.html#l00056">NL3D::CMiniCol::addFaces()</a>, <a class="el" href="a06155.html#l00335">NL3D::CPatch::addTileTrianglesInBBox()</a>, <a class="el" href="a06374.html#l00057">NL3D::CShadowPolyReceiver::addTriangle()</a>, <a class="el" href="a05862.html#l03658">NL3D::CLandscape::appendToShadowPolyReceiver()</a>, <a class="el" href="a05862.html#l02380">NL3D::CLandscape::buildCollideFaces()</a>, <a class="el" href="a06481.html#l00078">NL3D::BuildTangentSpace()</a>, <a class="el" href="a06155.html#l00410">NL3D::CPatchQuadBlock::buildTileTriangles()</a>, <a class="el" href="a06481.html#l00069">NL3D::BuildTriFromMB()</a>, <a class="el" href="a05503.html#l00087">NL3D::CBSPTree&lt; T &gt;::CBSPNode::CBSPNode()</a>, <a class="el" href="a05937.html#l00066">NL3D::CLodCharacterShapeBuild::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a06584.html#l00067">computeGradient()</a>, <a class="el" href="a06497.html#l03156">NL3D::CTessFace::computeTesselatedPos()</a>, <a class="el" href="a06190.html#l01928">NLMISC::CPolygon2D::CPolygon2D()</a>, <a class="el" href="a05657.html#l00575">NL3D::CDriverUser::drawTriangle()</a>, <a class="el" href="a06034.html#l00467">NL3D::CMiniCol::getFaces()</a>, <a class="el" href="a06034.html#l00341">NL3D::CMiniCol::getGroundNormal()</a>, <a class="el" href="a05618.html#l00172">NL3D::CCubeGrid&lt; TCell &gt;::insert()</a>, <a class="el" href="a05503.html#l00101">NL3D::CBSPTree&lt; T &gt;::CBSPNode::insert()</a>, <a class="el" href="a06768.html#l00920">NL3D::CZoneLighter::light()</a>, <a class="el" href="a05824.html#l00305">NL3D::CInstanceLighter::light()</a>, <a class="el" href="a05618.html#l00337">NL3D::CCubeGrid&lt; TCell &gt;::project()</a>, <a class="el" href="a06725.html#l00211">NL3D::CVisualCollisionEntity::snapToGround()</a>, <a class="el" href="a06034.html#l00242">NL3D::CMiniCol::snapToGround()</a>, <a class="el" href="a06725.html#l00366">NL3D::CVisualCollisionEntity::triangleIntersect()</a>, <a class="el" href="a06725.html#l00336">NL3D::CVisualCollisionEntity::triangleIntersect2DCeil()</a>, and <a class="el" href="a06725.html#l00299">NL3D::CVisualCollisionEntity::triangleIntersect2DGround()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06585.html">triangle.h</a><li><a class="el" href="a06584.html">triangle.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:38:47 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>