diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/classNLMISC_1_1CPolygon.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/classNLMISC_1_1CPolygon.html')
-rw-r--r-- | docs/doxygen/nel/classNLMISC_1_1CPolygon.html | 897 |
1 files changed, 897 insertions, 0 deletions
diff --git a/docs/doxygen/nel/classNLMISC_1_1CPolygon.html b/docs/doxygen/nel/classNLMISC_1_1CPolygon.html new file mode 100644 index 00000000..7032b68e --- /dev/null +++ b/docs/doxygen/nel/classNLMISC_1_1CPolygon.html @@ -0,0 +1,897 @@ +<!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.14 --> +<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>NLMISC::CPolygon Class Reference</h1>A polygon, with an unlimited size of vertices. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="polygon_8h-source.html">polygon.h</a>></code> +<p> +<a href="classNLMISC_1_1CPolygon-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="classNLMISC_1_1CPolygon.html#a0">CPolygon</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Constructor.</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="classNLMISC_1_1CPolygon.html#a1">CPolygon</a> (const <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> &a, const <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> &b, const <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> &c)</td></tr> +<tr><td> </td><td><font size=-1><em>Constructor. Init with a triangle.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="memory__common_8h.html#a14">sint</a> </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#a2">getNumVertices</a> () const</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#a3">clip</a> (const <a class="el" href="classNLMISC_1_1CPlane.html">CPlane</a> *planes, <a class="el" href="memory__common_8h.html#a15">uint</a> nPlanes)</td></tr> +<tr><td> </td><td><font size=-1><em>Clip a polygon with a set of planes. Cohen-sutherland... clipPolygonBack() is used on planes.</em> <a href="#a3">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="classNLMISC_1_1CPolygon.html#a4">clip</a> (const std::vector< <a class="el" href="classNLMISC_1_1CPlane.html">CPlane</a> > &planes)</td></tr> +<tr><td> </td><td><font size=-1><em>Clip a polygon with a set of planes. Cohen-sutherland clipping... clipPolygonBack() is used on planes.</em> <a href="#a4">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="classNLMISC_1_1CPolygon.html#a5">serial</a> (<a class="el" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) throw (NLMISC::EStream)</td></tr> +<tr><td> </td><td><font size=-1><em>Serial this polygon.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#a6">toConvexPolygons</a> (<a class="el" href="classstd_1_1list.html">std::list</a>< CPolygon > &outputPolygons, const <a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> &basis) const</td></tr> +<tr><td> </td><td><font size=-1><em>Convert a concave polygon into a list of convex polygons using a 2d projection.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#a7">chain</a> (const std::vector< CPolygon > &other, const <a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> &basis)</td></tr> +<tr><td> </td><td><font size=-1><em>Chain the arg polygons with this polygon testing 2d intersections.</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="classNLMISC_1_1CPolygon.html#a8">getBestTriplet</a> (<a class="el" href="memory__common_8h.html#a15">uint</a> &index0, <a class="el" href="memory__common_8h.html#a15">uint</a> &index1, <a class="el" href="memory__common_8h.html#a15">uint</a> &index2)</td></tr> +<tr><td> </td><td><font size=-1><em>get the best triplet from this poly (the one that has the highest area).</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="classNLMISC_1_1CPolygon.html#a9">buildBasis</a> (<a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> &dest)</td></tr> +<tr><td> </td><td><font size=-1><em>Takes the best triplet from this poly to build a normal.</em> <a href="#a9">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="classNLMISC_1_1CPolygon.html#a10">toConvexPolygonsLocalAndBSP</a> (std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > &localVertices, <a class="el" href="classNLMISC_1_1CBSPNode2v.html">CBSPNode2v</a> &root, const <a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> &basis) const</td></tr> +<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#d0">toConvexPolygonsEdgeIntersect</a> (const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> &a0, const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> &a1, const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> &b0, const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> &b1)</td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#d1">toConvexPolygonsLeft</a> (const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > &vertex, <a class="el" href="memory__common_8h.html#a15">uint</a> a, <a class="el" href="memory__common_8h.html#a15">uint</a> b, <a class="el" href="memory__common_8h.html#a15">uint</a> c)</td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#d2">toConvexPolygonsLeftOn</a> (const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > &vertex, <a class="el" href="memory__common_8h.html#a15">uint</a> a, <a class="el" href="memory__common_8h.html#a15">uint</a> b, <a class="el" href="memory__common_8h.html#a15">uint</a> c)</td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#d3">toConvexPolygonsInCone</a> (const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > &vertex, <a class="el" href="memory__common_8h.html#a15">uint</a> a, <a class="el" href="memory__common_8h.html#a15">uint</a> b)</td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#d4">toConvexPolygonsDiagonal</a> (const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > &vertex, const <a class="el" href="classNLMISC_1_1CBSPNode2v.html">CBSPNode2v</a> &bsp, <a class="el" href="memory__common_8h.html#a15">uint</a> a, <a class="el" href="memory__common_8h.html#a15">uint</a> b)</td></tr> +<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr> +<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > </td><td valign=bottom><a class="el" href="classNLMISC_1_1CPolygon.html#m0">Vertices</a></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A polygon, with an unlimited size of vertices. +<p> +<dl compact><dt><b> +Author: </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="polygon_8h-source.html#l00056">56</a> of file <a class="el" href="polygon_8h-source.html">polygon.h</a>.<hr><h2>Constructor & Destructor Documentation</h2> +<a name="a0" doxytag="NLMISC::CPolygon::CPolygon"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CPolygon::CPolygon </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. +<p> + +<p> +Definition at line <a class="el" href="polygon_8h-source.html#l00064">64</a> of file <a class="el" href="polygon_8h-source.html">polygon.h</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00624">chain</a>, and <a class="el" href="polygon_8cpp-source.html#l00440">toConvexPolygons</a>. </td> + </tr> +</table> +<a name="a1" doxytag="NLMISC::CPolygon::CPolygon"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CPolygon::CPolygon </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>c</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. Init with a triangle. +<p> + +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00046">46</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a name="a9" doxytag="NLMISC::CPolygon::buildBasis"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CPolygon::buildBasis </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>dest</em> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Takes the best triplet from this poly to build a normal. +<p> +From this normal and a points, build a basis (the normal is the K vector of the basis) This can be used to transform the poly in 2D after it has been inverted +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00141">141</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8cpp-source.html#l00106">getBestTriplet</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. </td> + </tr> +</table> +<a name="a7" doxytag="NLMISC::CPolygon::chain"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::chain </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< CPolygon > & </td> + <td class="mdname" nowrap> <em>other</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> & </td> + <td class="mdname" nowrap> <em>basis</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Chain the arg polygons with this polygon testing 2d intersections. +<p> +The 2d intersection test has been done in the XY plane of the basis passed at the function. +<p> +The polygon a-b-c-d-e chained with f-g-h-i-j will give the polygon a-b-f-g-h-i-j-f-b-c-d-e if the edge b-f is not 2d clipped by any edge plane in the XY plane of basis.<dl compact><dt><b> +Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>basis</em> </td><td> +is the basis of the polygon projection. </td></tr> +</table> +</dl><dl compact><dt><b> +Returns: </b><dd> +false if chain failed. else true. </dl> +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00624">624</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8h-source.html#l00064">CPolygon</a>, <a class="el" href="driver__opengl__extension__def_8h-source.html#l00222">index</a>, <a class="el" href="polygon_8cpp-source.html#l00392">toConvexPolygonsLocalAndBSP</a>, and <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. </td> + </tr> +</table> +<a name="a4" doxytag="NLMISC::CPolygon::clip"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CPolygon::clip </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="classNLMISC_1_1CPlane.html">CPlane</a> > & </td> + <td class="mdname1" valign="top" nowrap> <em>planes</em> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Clip a polygon with a set of planes. Cohen-sutherland clipping... clipPolygonBack() is used on planes. +<p> + +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00089">89</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8cpp-source.html#l00056">clip</a>. </td> + </tr> +</table> +<a name="a3" doxytag="NLMISC::CPolygon::clip"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CPolygon::clip </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="classNLMISC_1_1CPlane.html">CPlane</a> * </td> + <td class="mdname" nowrap> <em>planes</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>nPlanes</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Clip a polygon with a set of planes. Cohen-sutherland... clipPolygonBack() is used on planes. +<p> + +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00056">56</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8h-source.html#l00068">getNumVertices</a>, <a class="el" href="driver__opengl__extension__def_8h-source.html#l00818">in</a>, and <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00089">clip</a>, and <a class="el" href="water__model_8cpp-source.html#l00364">NL3D::CWaterRenderObs::traverse</a>. </td> + </tr> +</table> +<a name="a8" doxytag="NLMISC::CPolygon::getBestTriplet"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CPolygon::getBestTriplet </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="memory__common_8h.html#a15">uint</a> & </td> + <td class="mdname" nowrap> <em>index0</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> & </td> + <td class="mdname" nowrap> <em>index1</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> & </td> + <td class="mdname" nowrap> <em>index2</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the best triplet from this poly (the one that has the highest area). +<p> + +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00106">106</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00141">buildBasis</a>. </td> + </tr> +</table> +<a name="a2" doxytag="NLMISC::CPolygon::getNumVertices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="memory__common_8h.html#a14">sint</a> NLMISC::CPolygon::getNumVertices </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap> const<code> [inline]</code></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="polygon_8h-source.html#l00068">68</a> of file <a class="el" href="polygon_8h-source.html">polygon.h</a>. +<p> +References <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00056">clip</a>, and <a class="el" href="zone__lighter_8cpp-source.html#l02584">NL3D::CZoneLighter::lightWater</a>. </td> + </tr> +</table> +<a name="a5" doxytag="NLMISC::CPolygon::serial"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CPolygon::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap> throw (<a class="el" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>)</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Serial this polygon. +<p> + +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00099">99</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. </td> + </tr> +</table> +<a name="a6" doxytag="NLMISC::CPolygon::toConvexPolygons"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::toConvexPolygons </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="classstd_1_1list.html">std::list</a>< CPolygon > & </td> + <td class="mdname" nowrap> <em>outputPolygons</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> & </td> + <td class="mdname" nowrap> <em>basis</em></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> +Convert a concave polygon into a list of convex polygons using a 2d projection. +<p> +The polygon mustn't overlap itself in the XY plane of the basis passed in parameter. The polygon must be direct in the XY plane of the basis passed in parameter. (Counter clock wise) +<p> +The subdivison is in non-constant n*log(n) with n is the number of vertices.<dl compact><dt><b> +Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>outputPolygons</em> </td><td> +is the list filled with clipped convex polygons. The list is not cleared at the begining. New polygons are just appended at the end. </td></tr> +<tr><td valign=top><em>basis</em> </td><td> +is the basis of the polygon projection. </td></tr> +</table> +</dl><dl compact><dt><b> +Returns: </b><dd> +true if the polygon has been subdivided. false if the polygon overlap itself in the XY plane of the basis or if the polygon is not direct (clock wise). </dl> +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00440">440</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8h-source.html#l00064">CPolygon</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, <a class="el" href="polygon_8cpp-source.html#l00375">toConvexPolygonsDiagonal</a>, <a class="el" href="polygon_8cpp-source.html#l00392">toConvexPolygonsLocalAndBSP</a>, and <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. </td> + </tr> +</table> +<a name="d4" doxytag="NLMISC::CPolygon::toConvexPolygonsDiagonal"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::toConvexPolygonsDiagonal </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > & </td> + <td class="mdname" nowrap> <em>vertex</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CBSPNode2v.html">CBSPNode2v</a> & </td> + <td class="mdname" nowrap> <em>bsp</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>b</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></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="polygon_8cpp-source.html#l00375">375</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8cpp-source.html#l00351">toConvexPolygonsInCone</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00440">toConvexPolygons</a>. </td> + </tr> +</table> +<a name="d0" doxytag="NLMISC::CPolygon::toConvexPolygonsEdgeIntersect"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::toConvexPolygonsEdgeIntersect </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> & </td> + <td class="mdname" nowrap> <em>a0</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> & </td> + <td class="mdname" nowrap> <em>a1</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> & </td> + <td class="mdname" nowrap> <em>b0</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CVector2f.html">CVector2f</a> & </td> + <td class="mdname" nowrap> <em>b1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></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="polygon_8cpp-source.html#l00177">177</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. </td> + </tr> +</table> +<a name="d3" doxytag="NLMISC::CPolygon::toConvexPolygonsInCone"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::toConvexPolygonsInCone </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > & </td> + <td class="mdname" nowrap> <em>vertex</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>b</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></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="polygon_8cpp-source.html#l00351">351</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8cpp-source.html#l00337">toConvexPolygonsLeft</a>, and <a class="el" href="polygon_8cpp-source.html#l00344">toConvexPolygonsLeftOn</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00375">toConvexPolygonsDiagonal</a>. </td> + </tr> +</table> +<a name="d1" doxytag="NLMISC::CPolygon::toConvexPolygonsLeft"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::toConvexPolygonsLeft </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > & </td> + <td class="mdname" nowrap> <em>vertex</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>c</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></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="polygon_8cpp-source.html#l00337">337</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00351">toConvexPolygonsInCone</a>. </td> + </tr> +</table> +<a name="d2" doxytag="NLMISC::CPolygon::toConvexPolygonsLeftOn"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CPolygon::toConvexPolygonsLeftOn </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > & </td> + <td class="mdname" nowrap> <em>vertex</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="memory__common_8h.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>c</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></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="polygon_8cpp-source.html#l00344">344</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00351">toConvexPolygonsInCone</a>. </td> + </tr> +</table> +<a name="a10" doxytag="NLMISC::CPolygon::toConvexPolygonsLocalAndBSP"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CPolygon::toConvexPolygonsLocalAndBSP </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::vector< <a class="el" href="classNLMISC_1_1CVector.html">CVector</a> > & </td> + <td class="mdname" nowrap> <em>localVertices</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLMISC_1_1CBSPNode2v.html">CBSPNode2v</a> & </td> + <td class="mdname" nowrap> <em>root</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLMISC_1_1CMatrix.html">CMatrix</a> & </td> + <td class="mdname" nowrap> <em>basis</em></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> + +<p> +Definition at line <a class="el" href="polygon_8cpp-source.html#l00392">392</a> of file <a class="el" href="polygon_8cpp-source.html">polygon.cpp</a>. +<p> +References <a class="el" href="polygon_8cpp-source.html#l00173">NLMISC::TCConcavePolygonsVertexMap</a>, and <a class="el" href="polygon_8h-source.html#l00059">Vertices</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00624">chain</a>, and <a class="el" href="polygon_8cpp-source.html#l00440">toConvexPolygons</a>. </td> + </tr> +</table> +<hr><h2>Member Data Documentation</h2> +<a name="m0" doxytag="NLMISC::CPolygon::Vertices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::vector<<a class="el" href="classNLMISC_1_1CVector.html">CVector</a>> NLMISC::CPolygon::Vertices + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="polygon_8h-source.html#l00059">59</a> of file <a class="el" href="polygon_8h-source.html">polygon.h</a>. +<p> +Referenced by <a class="el" href="polygon_8cpp-source.html#l00141">buildBasis</a>, <a class="el" href="polygon_8cpp-source.html#l00624">chain</a>, <a class="el" href="polygon_8cpp-source.html#l00056">clip</a>, <a class="el" href="polygon_8cpp-source.html#l00046">CPolygon</a>, <a class="el" href="polygon_8cpp-source.html#l00106">getBestTriplet</a>, <a class="el" href="polygon_8h-source.html#l00068">getNumVertices</a>, <a class="el" href="water__shape_8cpp-source.html#l00595">NL3D::CWaterShape::getShapeInWorldSpace</a>, <a class="el" href="zone__lighter_8cpp-source.html#l02584">NL3D::CZoneLighter::lightWater</a>, <a class="el" href="polygon_8cpp-source.html#l00440">toConvexPolygons</a>, <a class="el" href="polygon_8cpp-source.html#l00392">toConvexPolygonsLocalAndBSP</a>, and <a class="el" href="water__model_8cpp-source.html#l00364">NL3D::CWaterRenderObs::traverse</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="polygon_8h-source.html">polygon.h</a><li><a class="el" href="polygon_8cpp-source.html">polygon.cpp</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> |