aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03068.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03068.html')
-rw-r--r--docs/doxygen/nel/a03068.html190
1 files changed, 190 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03068.html b/docs/doxygen/nel/a03068.html
new file mode 100644
index 00000000..675c4da8
--- /dev/null
+++ b/docs/doxygen/nel/a03068.html
@@ -0,0 +1,190 @@
+<!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: NL3D::CPatchQuadBlock 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>NL3D::CPatchQuadBlock Class Reference</h1><code>#include &lt;<a class="el" href="a06156.html">patch.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A group of tiles faces in a patch. For speed/mem, max size of a <a class="el" href="a03068.html">CPatchQuadBlock</a> is fixed.<p>
+<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="a06156.html#l00251">251</a> of file <a class="el" href="a06156.html">patch.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="a03068.html#NL3D_1_1CPatchQuadBlocka0">buildTileTriangles</a> (<a class="el" href="a04558.html#a7">uint8</a> quadId, <a class="el" href="a03620.html">CTrianglePatch</a> triangles[2]) 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="a03059.html">CPatchBlockIdent</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from what subPart of the patch those data comes from. <a href="#NL3D_1_1CPatchQuadBlocko0"></a><br><br></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="a03068.html#NL3D_1_1CPatchQuadBlocko1">Vertices</a> [(4+1)*(4+1)]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">evaluated Vertices of this patch. <a href="#NL3D_1_1CPatchQuadBlocko1"></a><br><br></td></tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPatchQuadBlocka0" doxytag="NL3D::CPatchQuadBlock::buildTileTriangles" ></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 NL3D::CPatchQuadBlock::buildTileTriangles </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>quadId</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03620.html">CTrianglePatch</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>triangles</em>[2]</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>
+build the 2 triangles from a quad of the <a class="el" href="a03068.html">CPatchQuadBlock</a>. quadId is the number of the quad, relatively to the PatchQuadBlock.
+<p>
+Definition at line <a class="el" href="a06155.html#l00410">410</a> of file <a class="el" href="a06155.html">patch.cpp</a>.
+<p>
+References <a class="el" href="a06156.html#l00064">NL_PATCH_BLOCK_MAX_QUAD</a>, <a class="el" href="a06156.html#l00065">NL_PATCH_BLOCK_MAX_VERTEX</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06156.html#l00199">NL3D::CPatchBlockIdent::OrderS</a>, <a class="el" href="a06156.html#l00199">NL3D::CPatchBlockIdent::OrderT</a>, <a class="el" href="a06156.html#l00255">PatchBlockId</a>, <a class="el" href="a06156.html#l00197">NL3D::CPatchBlockIdent::PatchId</a>, <a class="el" href="a06156.html#l00181">NL3D::CTrianglePatch::PatchId</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a06156.html#l00201">NL3D::CPatchBlockIdent::S0</a>, <a class="el" href="a06156.html#l00201">NL3D::CPatchBlockIdent::S1</a>, <a class="el" href="a05646.html#l00985">t</a>, <a class="el" href="a06156.html#l00201">NL3D::CPatchBlockIdent::T0</a>, <a class="el" href="a06156.html#l00201">NL3D::CPatchBlockIdent::T1</a>, <a class="el" href="a06655.html#l00049">NLMISC::CUV::U</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a05760.html#l00170">NLMISC::CTriangleUV::Uv0</a>, <a class="el" href="a05760.html#l00170">NLMISC::CTriangleUV::Uv1</a>, <a class="el" href="a05760.html#l00170">NLMISC::CTriangleUV::Uv2</a>, <a class="el" href="a06655.html#l00049">NLMISC::CUV::V</a>, <a class="el" href="a06585.html#l00051">NLMISC::CTriangle::V0</a>, <a class="el" href="a06585.html#l00051">NLMISC::CTriangle::V1</a>, and <a class="el" href="a06585.html#l00051">NLMISC::CTriangle::V2</a>.
+<p>
+Referenced by <a class="el" href="a06725.html#l00096">NL3D::CVisualCollisionEntity::getPatchTriangleUnderUs()</a>.
+<p>
+<div class="fragment"><pre>00411 {
+00412 <span class="comment">// copute coordinate of the tile we want.</span>
+00413 <a class="code" href="a04558.html#a15">uint</a> sd0= quadId&amp;(<a class="code" href="a04733.html#a9">NL_PATCH_BLOCK_MAX_QUAD</a>-1);
+00414 <a class="code" href="a04558.html#a15">uint</a> td0= quadId/(<a class="code" href="a04733.html#a9">NL_PATCH_BLOCK_MAX_QUAD</a>);
+00415 <a class="code" href="a04558.html#a15">uint</a> sd1= sd0+1;
+00416 <a class="code" href="a04558.html#a15">uint</a> td1= td0+1;
+00417 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a626">s</a>= <a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.S0+sd0;
+00418 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a627">t</a>= <a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.T0+td0;
+00419 <a class="code" href="a04199.html#a6">nlassert</a>(s&lt;<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.S1);
+00420 <a class="code" href="a04199.html#a6">nlassert</a>(t&lt;<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.T1);
+00421
+00422 <span class="comment">// Compute UV coord.</span>
+00423 <span class="keywordtype">float</span> fs0= (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a626">s</a> / (<span class="keywordtype">float</span>)(<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.OrderS);
+00424 <span class="keywordtype">float</span> ft0= (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a627">t</a> / (<span class="keywordtype">float</span>)(<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.OrderT);
+00425 <span class="keywordtype">float</span> fs1= (<span class="keywordtype">float</span>)(<a class="code" href="a04223.html#a626">s</a>+1) / (<span class="keywordtype">float</span>)(<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.OrderS);
+00426 <span class="keywordtype">float</span> ft1= (<span class="keywordtype">float</span>)(<a class="code" href="a04223.html#a627">t</a>+1) / (<span class="keywordtype">float</span>)(<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.OrderT);
+00427 CUV uv0, uv1, uv2, uv3;
+00428 uv0.U= fs0; uv0.V= ft0;
+00429 uv1.U= fs0; uv1.V= ft1;
+00430 uv2.U= fs1; uv2.V= ft1;
+00431 uv3.U= fs1; uv3.V= ft0;
+00432
+00433 <span class="comment">// get vertex coord.</span>
+00434 <span class="keyword">const</span> CVector &amp;p0= <a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko1">Vertices</a>[sd0 + td0*<a class="code" href="a04733.html#a10">NL_PATCH_BLOCK_MAX_VERTEX</a>];
+00435 <span class="keyword">const</span> CVector &amp;p1= Vertices[sd0 + td1*<a class="code" href="a04733.html#a10">NL_PATCH_BLOCK_MAX_VERTEX</a>];
+00436 <span class="keyword">const</span> CVector &amp;p2= Vertices[sd1 + td1*<a class="code" href="a04733.html#a10">NL_PATCH_BLOCK_MAX_VERTEX</a>];
+00437 <span class="keyword">const</span> CVector &amp;p3= Vertices[sd1 + td0*<a class="code" href="a04733.html#a10">NL_PATCH_BLOCK_MAX_VERTEX</a>];
+00438
+00439 <span class="comment">// build triangles.</span>
+00440 <span class="comment">// first tri.</span>
+00441 {
+00442 CTrianglePatch &amp;tri= triangles[0];
+00443 tri.PatchId= <a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.PatchId;
+00444 tri.V0= p0; tri.V1= p1; tri.V2= p2;
+00445 tri.Uv0= uv0; tri.Uv1= uv1; tri.Uv2= uv2;
+00446 }
+00447
+00448 <span class="comment">// second tri.</span>
+00449 {
+00450 CTrianglePatch &amp;tri= triangles[1];
+00451 tri.PatchId= <a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.PatchId;
+00452 tri.V0= p2; tri.V1= p3; tri.V2= p0;
+00453 tri.Uv0= uv2; tri.Uv1= uv3; tri.Uv2= uv0;
+00454 }
+00455
+00456 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CPatchQuadBlocko0" doxytag="NL3D::CPatchQuadBlock::PatchBlockId" ></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="a03059.html">CPatchBlockIdent</a> <a class="el" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">NL3D::CPatchQuadBlock::PatchBlockId</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+from what subPart of the patch those data comes from.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06156.html#l00255">255</a> of file <a class="el" href="a06156.html">patch.h</a>.
+<p>
+Referenced by <a class="el" href="a05864.html#l00147">NL3D::CLandscapeCollisionGrid::build()</a>, <a class="el" href="a06155.html#l00410">buildTileTriangles()</a>, <a class="el" href="a06725.html#l00612">NL3D::CVisualCollisionEntity::displayDebugGrid()</a>, and <a class="el" href="a05862.html#l02359">NL3D::CLandscape::fillPatchQuadBlock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CPatchQuadBlocko1" doxytag="NL3D::CPatchQuadBlock::Vertices" ></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="a03068.html#NL3D_1_1CPatchQuadBlocko1">NL3D::CPatchQuadBlock::Vertices</a>[ ( 4 +1) * ( 4 +1) ]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+evaluated Vertices of this patch.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06156.html#l00258">258</a> of file <a class="el" href="a06156.html">patch.h</a>.
+<p>
+Referenced by <a class="el" href="a05864.html#l00147">NL3D::CLandscapeCollisionGrid::build()</a>, and <a class="el" href="a06725.html#l00612">NL3D::CVisualCollisionEntity::displayDebugGrid()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06156.html">patch.h</a><li><a class="el" href="a06155.html">patch.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:01:07 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>