diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/class_NL3D__CQuadGrid.html | 1039 |
1 files changed, 1039 insertions, 0 deletions
diff --git a/docs/doxygen/nel/class_NL3D__CQuadGrid.html b/docs/doxygen/nel/class_NL3D__CQuadGrid.html new file mode 100644 index 00000000..71d37728 --- /dev/null +++ b/docs/doxygen/nel/class_NL3D__CQuadGrid.html @@ -0,0 +1,1039 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.2 on Sat May 12 22:31:26 2001 --> +<center> +<a class="qindex" href="index.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">Compound List</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">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>NL3D::CQuadGrid Template Class Reference</h1>This container is a simple grid, used to quickly find elements. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="quad_grid_h-source.html">quad_grid.h</a>></code> +<p> +Collaboration diagram for NL3D::CQuadGrid:<p><center><img src="class_NL3D__CQuadGrid_coll_graph.gif" border="0" usemap="#NL3D::CQuadGrid_coll_map" alt="Collaboration graph"></center> +<map name="NL3D::CQuadGrid_coll_map"> +<area href="class_NL3D__CQuadGrid__CBaseNode.html" shape="rect" coords="0,1,187,19"> +<area href="class_NLMISC__CMatrix.html" shape="rect" coords="211,1,325,19"> +<area href="class_NL3D__CQuadGrid__CQuadNode.html" shape="rect" coords="428,1,617,19"> +</map> +<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_NL3D__CQuadGrid-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> +<tr><td colspan=2><br><h2>Public Methods</h2></td></tr> +<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a0">CQuadGrid</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Default constructor, use axes XY!!!, has a size of 16, and EltSize is 1.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a1">~CQuadGrid</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>dtor.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Initialization</div></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a2">changeBase</a> (const <a class="el" href="class_NLMISC__CMatrix.html">NLMISC::CMatrix</a>& base)</td></tr> +<tr><td> </td><td><font size=-1><em>Change the base matrix of the quad grid.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a3">create</a> (<a class="el" href="types_nl_h.html#a13">uint</a> <a class="el" href="lexlang_cpp.html#a56">size</a>, float eltSize)</td></tr> +<tr><td> </td><td><font size=-1><em>Init the container.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Container operation</div></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a4">clear</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Clear the container. Elements are deleted, but the quadgrid is not erased.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a5">erase</a> (<a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> it)</td></tr> +<tr><td> </td><td><font size=-1><em>Erase an interator from the container.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a6">insert</a> (const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> &bboxmin, const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> &bboxmax, const T &val)</td></tr> +<tr><td> </td><td><font size=-1><em>Insert a new element in the container.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Selection</div></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a7">clearSelection</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Clear the selection list.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a8">selectAll</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Select all the container.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a9">select</a> (const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> &bboxmin, const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> &bboxmax)</td></tr> +<tr><td> </td><td><font size=-1><em>Select element intersecting a bounding box.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a10">begin</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Return the first iterator of the selected element list.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#a11">end</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Return the end iterator of the selected element list.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Methods</h2></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#c0">selectQuads</a> (CVector bmin, CVector bmax, <a class="el" href="types_nl_h.html#a12">sint</a> &x0, <a class="el" href="types_nl_h.html#a12">sint</a> &x1, <a class="el" href="types_nl_h.html#a12">sint</a> &y0, <a class="el" href="types_nl_h.html#a12">sint</a> &y1)</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#c1">addToSelection</a> (<a class="el" href="class_NL3D__CQuadGrid__CNode.html">CNode</a> *ptr)</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#c2">addQuadNodeToSelection</a> (<a class="el" href="class_NL3D__CQuadGrid__CQuadNode.html">CQuadNode</a> &quad)</td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td nowrap align=right valign=top>std::vector<<a class="el" href="class_NL3D__CQuadGrid__CQuadNode.html">CQuadNode</a>> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#o0">_Grid</a></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="types_nl_h.html#a12">sint</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#o1">_Size</a></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="types_nl_h.html#a12">sint</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#o2">_SizePower</a></td></tr> +<tr><td nowrap align=right valign=top>float </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#o3">_EltSize</a></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="class_NLMISC__CMatrix.html">NLMISC::CMatrix</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#o4">_ChangeBasis</a></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__CQuadGrid__CBaseNode.html">CBaseNode</a> </td><td valign=bottom><a class="el" href="class_NL3D__CQuadGrid.html#o5">_Selection</a></td></tr> +<tr><td colspan=2><br><h2>Friends</h2></td></tr> +<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="#l0">CIterator</a></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +<h3>template<class T> template class NL3D::CQuadGrid</h3> + +This container is a simple grid, used to quickly find elements. +<p> +His purpose is similiar to <a class="el" href="class_NL3D__CQuadTree.html">CQuadTree</a>, but it is a simple grid, so test are in O(1), not in O(log n). It is perfect for local lookup (like in collisions). Use it if you want to select small area, not large. Also, for best use, elements should have approximatively the same size, and this size should be little smaller than the size of a grid element... +<p> +By default, the quad grid is aligned on XY. (unlike the quadtree!!!) +<p> +Unlike the quadtree, the quadgrid is NOT geographicly delimited, ie, its limits "tiles"!! This is why no "center" is required. As a direct consequence, when you select something, you are REALLY not sure that what you select is not a mile away from your selection :) .... +<p> +Also, for memory optimisation, no bbox is stored in the quadgrid. Hence no particular selection is made on the Z components... +<p> +<dl compact><dt> +<b>Author(s): </b><dd> + Lionel Berenguier , Nevrax France </dl><dl compact><dt> +<b>Date: </b><dd> + 2000 </dl> +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00064">64</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>.<hr><h2>Constructor & Destructor Documentation</h2> +<a name="a0" doxytag="NL3D::CQuadGrid::CQuadGrid"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +NL3D::CQuadGrid< T >::CQuadGrid<T> ( + </b></td> + <td valign="bottom"><b> +) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Default constructor, use axes XY!!!, has a size of 16, and EltSize is 1. +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00332">332</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a1" doxytag="NL3D::CQuadGrid::~CQuadGrid"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +NL3D::CQuadGrid< T >::~CQuadGrid<T> ( + </b></td> + <td valign="bottom"><b> +) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +dtor. +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00340">340</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a name="c2" doxytag="NL3D::CQuadGrid::addQuadNodeToSelection"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid<T>::addQuadNodeToSelection ( + </b></td> + <td valign="bottom"><b> +<a class="el" href="class_NL3D__CQuadGrid__CQuadNode.html">CQuadNode</a> & <em>quad</em> )<code> [inline, private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00242">242</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="c1" doxytag="NL3D::CQuadGrid::addToSelection"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid<T>::addToSelection ( + </b></td> + <td valign="bottom"><b> +<a class="el" href="class_NL3D__CQuadGrid__CNode.html">CNode</a> * <em>ptr</em> )<code> [inline, private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00228">228</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a10" doxytag="NL3D::CQuadGrid::begin"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +CQuadGrid< T >::<a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> NL3D::CQuadGrid< T >::begin ( + </b></td> + <td valign="bottom"><b> +void ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the first iterator of the selected element list. +<p> +begin and end are valid till the next insert. +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00528">528</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a2" doxytag="NL3D::CQuadGrid::changeBase"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid< T >::changeBase ( + </b></td> + <td valign="bottom"><b> +const <a class="el" href="class_NLMISC__CMatrix.html">NLMISC::CMatrix</a> & <em>base</em> ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Change the base matrix of the quad grid. +<p> +For exemple this code init the grid tree in the plane XZ: <div class="fragment"><pre> CQuadGrid grid; + <a class="code" href="class_NLMISC__CMatrix.html">NLMISC::CMatrix</a> tmp; + <a class="code" href="class_NLMISC__CVector.html">NLMISC::CVector</a> I(1,0,0); + <a class="code" href="class_NLMISC__CVector.html">NLMISC::CVector</a> J(0,0,1); + <a class="code" href="class_NLMISC__CVector.html">NLMISC::CVector</a> K(0,-1,0); + + tmp.<a class="code" href="class_NLMISC__CMatrix.html#a3">identity</a>(); + tmp.<a class="code" href="class_NLMISC__CMatrix.html#a4">setRot</a>(I,J,K, <font class="keyword">true</font>); + quadTree.changeBase (tmp);</div></pre><dl compact><dt> +<b>Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>base</em> + </td><td> + Base of the quad grid </td></tr> +</table> +</dl> +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00345">345</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a4" doxytag="NL3D::CQuadGrid::clear"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid< T >::clear ( + </b></td> + <td valign="bottom"><b> +) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Clear the container. Elements are deleted, but the quadgrid is not erased. +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00371">371</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a7" doxytag="NL3D::CQuadGrid::clearSelection"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid< T >::clearSelection ( + </b></td> + <td valign="bottom"><b> +) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Clear the selection list. +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00476">476</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a3" doxytag="NL3D::CQuadGrid::create"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid< T >::create ( + </b></td> + <td valign="bottom"><b> +<a class="el" href="types_nl_h.html#a13">uint</a> <em>size</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +float <em>eltSize</em> ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Init the container. +<p> +container is first <a class="el" href="class_NL3D__CQuadGrid.html#a4">clear</a>() ed.<dl compact><dt> +<b>Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>size</em> + </td><td> + is the width and the height of the initial quad tree, in number of square. For performance view, this should be a power of 2, and <=32768. (eg: 256,512, 8, 16 ...) </td></tr> +<tr><td valign=top><em>eltSize</em> + </td><td> + is the width and height of an element. Must be >0. Notice that the quadgrid MUST be square!! </td></tr> +</table> +</dl> +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00350">350</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a11" doxytag="NL3D::CQuadGrid::end"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +CQuadGrid< T >::<a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> NL3D::CQuadGrid< T >::end ( + </b></td> + <td valign="bottom"><b> +void ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the end iterator of the selected element list. +<p> +begin and end are valid till the next insert. +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00533">533</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a5" doxytag="NL3D::CQuadGrid::erase"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +CQuadGrid< T >::<a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> NL3D::CQuadGrid< T >::erase ( + </b></td> + <td valign="bottom"><b> +<a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> <em>it</em> ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Erase an interator from the container. +<p> +<dl compact><dt> +<b>Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>it</em> + </td><td> + is the iterator to erase. </td></tr> +</table> +</dl><dl compact><dt> +<b>Returns: </b><dd> + if element is currently selected, the next selected element is returned, (or <a class="el" href="class_NL3D__CQuadGrid.html#a11">end</a>()). if the element is not selected, <a class="el" href="class_NL3D__CQuadGrid.html#a11">end</a>() is returned. </dl> +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00384">384</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a6" doxytag="NL3D::CQuadGrid::insert"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +CQuadGrid< T >::<a class="el" href="class_NL3D__CQuadGrid__CIterator.html">CIterator</a> NL3D::CQuadGrid< T >::insert ( + </b></td> + <td valign="bottom"><b> +const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> & <em>bboxmin</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> & <em>bboxmax</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +const T & <em>val</em> ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Insert a new element in the container. +<p> +<dl compact><dt> +<b>Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>bboxmin</em> + </td><td> + is the corner of the bounding box of the element to insert with minimal coordinates. </td></tr> +<tr><td valign=top><em>bboxmax</em> + </td><td> + is the corner of the bounding box of the element to insert with maximal coordinates. </td></tr> +<tr><td valign=top><em>val</em> + </td><td> + is a reference on the value to insert. </td></tr> +</table> +</dl> +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00431">431</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a9" doxytag="NL3D::CQuadGrid::select"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid< T >::select ( + </b></td> + <td valign="bottom"><b> +const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> & <em>bboxmin</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +const <a class="el" href="class_NLMISC__CVector.html">NLMISC::CVector</a> & <em>bboxmax</em> ) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Select element intersecting a bounding box. +<p> +Clear the selection first.<dl compact><dt> +<b>Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>bboxmin</em> + </td><td> + is the corner of the bounding box used to select </td></tr> +<tr><td valign=top><em>bboxmax</em> + </td><td> + is the corner of the bounding box used to select </td></tr> +</table> +</dl> +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00500">500</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="a8" doxytag="NL3D::CQuadGrid::selectAll"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid< T >::selectAll ( + </b></td> + <td valign="bottom"><b> +) + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Select all the container. +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00490">490</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="c0" doxytag="NL3D::CQuadGrid::selectQuads"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +void NL3D::CQuadGrid<T>::selectQuads ( + </b></td> + <td valign="bottom"><b> +CVector <em>bmin</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +CVector <em>bmax</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +<a class="el" href="types_nl_h.html#a12">sint</a> & <em>x0</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +<a class="el" href="types_nl_h.html#a12">sint</a> & <em>x1</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +<a class="el" href="types_nl_h.html#a12">sint</a> & <em>y0</em>, + </b></td> + </tr> + <tr> + <td></td> + <td><b> +<a class="el" href="types_nl_h.html#a12">sint</a> & <em>y1</em> )<code> [inline, private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00199">199</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<hr><h2>Friends And Related Function Documentation</h2> +<a name="l0" doxytag="NL3D::CQuadGrid::CIterator"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +class CIterator<code> [friend]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00069">69</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<hr><h2>Member Data Documentation</h2> +<a name="o4" doxytag="NL3D::CQuadGrid::_ChangeBasis"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +<a class="el" href="class_NLMISC__CMatrix.html">NLMISC::CMatrix</a> NL3D::CQuadGrid<T>::_ChangeBasis<code> [private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00191">191</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="o3" doxytag="NL3D::CQuadGrid::_EltSize"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +float NL3D::CQuadGrid<T>::_EltSize<code> [private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00190">190</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="o0" doxytag="NL3D::CQuadGrid::_Grid"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +std::vector< <a class="el" href="class_NL3D__CQuadGrid__CQuadNode.html">CQuadNode</a> > NL3D::CQuadGrid<T>::_Grid<code> [private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00187">187</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="o5" doxytag="NL3D::CQuadGrid::_Selection"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +<a class="el" href="class_NL3D__CQuadGrid__CBaseNode.html">CBaseNode</a> NL3D::CQuadGrid<T>::_Selection<code> [private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00193">193</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="o1" doxytag="NL3D::CQuadGrid::_Size"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +<a class="el" href="types_nl_h.html#a12">sint</a> NL3D::CQuadGrid<T>::_Size<code> [private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00188">188</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<a name="o2" doxytag="NL3D::CQuadGrid::_SizePower"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td colspan="2"><b> +template<classT> </b></td> + </tr> + <tr> + <td nowrap valign="top"><b> +<a class="el" href="types_nl_h.html#a12">sint</a> NL3D::CQuadGrid<T>::_SizePower<code> [private]</code> + </b></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="quad_grid_h-source.html#l00189">189</a> of file <a class="el" href="quad_grid_h-source.html">quad_grid.h</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="quad_grid_h-source.html">quad_grid.h</a></ul> + + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |