diff options
Diffstat (limited to 'docs/doxygen/nel/a03068.html')
-rw-r--r-- | docs/doxygen/nel/a03068.html | 190 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CPatchQuadBlock Class Reference</h1><code>#include <<a class="el" href="a06156.html">patch.h</a>></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 </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a></td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </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> </td> + <td class="mdname" nowrap> <em>triangles</em>[2]</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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&(<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<<a class="code" href="a03068.html#NL3D_1_1CPatchQuadBlocko0">PatchBlockId</a>.S1); +00420 <a class="code" href="a04199.html#a6">nlassert</a>(t<<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 &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 &p1= Vertices[sd0 + td1*<a class="code" href="a04733.html#a10">NL_PATCH_BLOCK_MAX_VERTEX</a>]; +00436 <span class="keyword">const</span> CVector &p2= Vertices[sd1 + td1*<a class="code" href="a04733.html#a10">NL_PATCH_BLOCK_MAX_VERTEX</a>]; +00437 <span class="keyword">const</span> CVector &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 &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 &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> + + </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> + + </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> |