diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03737.html | 853 |
1 files changed, 853 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03737.html b/docs/doxygen/nel/a03737.html new file mode 100644 index 00000000..aa7703bf --- /dev/null +++ b/docs/doxygen/nel/a03737.html @@ -0,0 +1,853 @@ +<!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: NLLIGO::CZoneEdge 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>NLLIGO::CZoneEdge Class Reference</h1><code>#include <<a class="el" href="a06767.html">zone_edge.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A ZoneEdge descriptor<p> +<dl compact><dt><b>Author:</b></dt><dd>Cyril 'Hulud' Corvazier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00055">55</a> of file <a class="el" href="a06767.html">zone_edge.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>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea0">build</a> (const std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > &theEdge, const std::vector< <a class="el" href="a04558.html#a11">uint32</a> > &theId, <a class="el" href="a04558.html#a15">uint</a> rotation, <a class="el" href="a04558.html#a10">sint32</a> offsetX, <a class="el" href="a04558.html#a10">sint32</a> offsetY, const <a class="el" href="a02756.html">CLigoConfig</a> &config, <a class="el" href="a02757.html">CLigoError</a> &errors)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Build a edge zone. <a href="#NLLIGO_1_1CZoneEdgea0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea1">buildMatrix</a> (<a class="el" href="a02851.html">NLMISC::CMatrix</a> &mat, const <a class="el" href="a02756.html">CLigoConfig</a> &config) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the matrix. <a href="#NLLIGO_1_1CZoneEdgea1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea2">getNumVertex</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the vertex count. <a href="#NLLIGO_1_1CZoneEdgea2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea3">getOffsetX</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea4">getOffsetY</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea5">getRotation</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get values. <a href="#NLLIGO_1_1CZoneEdgea5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea6">getVertex</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a564">id</a>) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the vertex. <a href="#NLLIGO_1_1CZoneEdgea6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea7">invert</a> (const <a class="el" href="a02756.html">CLigoConfig</a> &config)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Invert the edge. <a href="#NLLIGO_1_1CZoneEdgea7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea8">isSymetrical</a> (const <a class="el" href="a02756.html">CLigoConfig</a> &config, <a class="el" href="a02757.html">CLigoError</a> &errors) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is symetrical ? <a href="#NLLIGO_1_1CZoneEdgea8"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea9">isTheSame</a> (const <a class="el" href="a03737.html">CZoneEdge</a> &other, const <a class="el" href="a02756.html">CLigoConfig</a> &config, <a class="el" href="a02757.html">CLigoError</a> &errors) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the same edge ? <a href="#NLLIGO_1_1CZoneEdgea9"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdgea10">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &<a class="el" href="a04223.html#a626">s</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Serial. <a href="#NLLIGO_1_1CZoneEdgea10"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a04558.html#a11">uint32</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger0">_Id</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Id of the vertices. <a href="#NLLIGO_1_1CZoneEdger0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger1">_OffsetX</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">X an Y offset of the edge. the position of the i-th vertex is rotate (_Rotation) * (theEdge[i], 0, 0) + (_OffsetX, _OffsetY, 0). <a href="#NLLIGO_1_1CZoneEdger1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger2">_OffsetY</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger3">_Rotation</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Rotation of the edge. Must be 0, 1, 2, 3. The rotation angle is Pi/2 * (double)_Rotation in CCW. <a href="#NLLIGO_1_1CZoneEdger3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The vector of position for this edge. <a href="#NLLIGO_1_1CZoneEdger4"></a><br><br></td></tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea0" doxytag="NLLIGO::CZoneEdge::build" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CZoneEdge::build </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > & </td> + <td class="mdname" nowrap> <em>theEdge</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< <a class="el" href="a04558.html#a11">uint32</a> > & </td> + <td class="mdname" nowrap> <em>theId</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>rotation</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a10">sint32</a> </td> + <td class="mdname" nowrap> <em>offsetX</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a10">sint32</a> </td> + <td class="mdname" nowrap> <em>offsetY</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02756.html">CLigoConfig</a> & </td> + <td class="mdname" nowrap> <em>config</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02757.html">CLigoError</a> & </td> + <td class="mdname" nowrap> <em>errors</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> +Build a edge zone. +<p> + +<p> +Definition at line <a class="el" href="a06766.html#l00041">41</a> of file <a class="el" href="a06766.html">zone_edge.cpp</a>. +<p> +References <a class="el" href="a06767.html#l00095">_Id</a>, <a class="el" href="a06767.html#l00101">_OffsetX</a>, <a class="el" href="a06767.html#l00102">_OffsetY</a>, <a class="el" href="a06767.html#l00098">_Rotation</a>, <a class="el" href="a06767.html#l00092">_TheEdge</a>, <a class="el" href="a05904.html#l00069">NLLIGO::CLigoConfig::CellSize</a>, <a class="el" href="a05905.html#l00080">NLLIGO::CLigoError::clear()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05905.html#l00040">NLLIGO::CLigoError::pushVertexError()</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05904.html#l00072">NLLIGO::CLigoConfig::Snap</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +<div class="fragment"><pre>00043 { +00044 <span class="comment">// Some checks</span> +00045 <a class="code" href="a04199.html#a6">nlassert</a> (rotation>=0); +00046 <a class="code" href="a04199.html#a6">nlassert</a> (rotation<=3); +00047 <a class="code" href="a04199.html#a6">nlassert</a> (theEdge.size() == theId.size()); +00048 +00049 <span class="comment">// Cancels errors</span> +00050 errors.clear (); +00051 +00052 <span class="comment">// Errors ?</span> +00053 <span class="keywordtype">bool</span> ok = <span class="keyword">true</span>; +00054 +00055 <span class="comment">// Check first position</span> +00056 CVector toCheck (theEdge[0].<a class="code" href="a04223.html#a572">x</a>, theEdge[0].<a class="code" href="a04223.html#a573">y</a>, 0); +00057 <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>)fabs (toCheck.norm())>config.Snap) +00058 { +00059 <span class="comment">// Vertex error</span> +00060 errors.pushVertexError (CLigoError::UnknownError, 0); +00061 ok = <span class="keyword">false</span>; +00062 } +00063 +00064 <span class="comment">// Check last position</span> +00065 <a class="code" href="a04558.html#a15">uint</a> lastIndex = theEdge.size()-1; +00066 toCheck = CVector (theEdge[lastIndex].<a class="code" href="a04223.html#a572">x</a>, theEdge[lastIndex].<a class="code" href="a04223.html#a573">y</a>, 0); +00067 <span class="keywordflow">if</span> (((toCheck-CVector (config.CellSize, 0, 0)).norm())>config.Snap) +00068 { +00069 <span class="comment">// Vertex error</span> +00070 errors.pushVertexError (CLigoError::UnknownError, 0); +00071 ok = <span class="keyword">false</span>; +00072 } +00073 +00074 <span class="comment">// No error ? Build!</span> +00075 <span class="keywordflow">if</span> (ok) +00076 { +00077 <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a> = theEdge; +00078 <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger3">_Rotation</a> = rotation; +00079 <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger1">_OffsetX</a> = offsetX; +00080 <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger2">_OffsetY</a> = offsetY; +00081 <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger0">_Id</a> = theId; +00082 } +00083 +00084 <span class="keywordflow">return</span> ok; +00085 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea1" doxytag="NLLIGO::CZoneEdge::buildMatrix" ></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 NLLIGO::CZoneEdge::buildMatrix </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02851.html">NLMISC::CMatrix</a> & </td> + <td class="mdname" nowrap> <em>mat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02756.html">CLigoConfig</a> & </td> + <td class="mdname" nowrap> <em>config</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> +Return the matrix. +<p> + +<p> +Definition at line <a class="el" href="a06766.html#l00212">212</a> of file <a class="el" href="a06766.html">zone_edge.cpp</a>. +<p> +References <a class="el" href="a06767.html#l00101">_OffsetX</a>, <a class="el" href="a06767.html#l00102">_OffsetY</a>, <a class="el" href="a06767.html#l00098">_Rotation</a>, <a class="el" href="a05904.html#l00069">NLLIGO::CLigoConfig::CellSize</a>, <a class="el" href="a05972.html#l00200">NLMISC::CMatrix::identity()</a>, <a class="el" href="a05587.html#l00079">NLMISC::Pi</a>, <a class="el" href="a05972.html#l00578">NLMISC::CMatrix::rotateZ()</a>, and <a class="el" href="a05972.html#l00267">NLMISC::CMatrix::setPos()</a>. +<p> +<div class="fragment"><pre>00213 { +00214 <span class="comment">// Build a transformation matrix</span> +00215 mat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>(); +00216 mat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1965_4">rotateZ</a> ((<span class="keywordtype">float</span>)Pi*(<span class="keywordtype">float</span>)_Rotation/2.f); +00217 mat.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_4">setPos</a> (CVector (config.CellSize*(<span class="keywordtype">float</span>)_OffsetX, config.CellSize*(<span class="keywordtype">float</span>)_OffsetY, 0)); +00218 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea2" doxytag="NLLIGO::CZoneEdge::getNumVertex" ></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="a04558.html#a15">uint</a> NLLIGO::CZoneEdge::getNumVertex </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> +Return the vertex count. +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00076">76</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +References <a class="el" href="a06767.html#l00092">_TheEdge</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00076 { <span class="keywordflow">return</span> <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>.size(); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea3" doxytag="NLLIGO::CZoneEdge::getOffsetX" ></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="a04558.html#a10">sint32</a> NLLIGO::CZoneEdge::getOffsetX </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="a06767.html#l00086">86</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +References <a class="el" href="a06767.html#l00101">_OffsetX</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00086 { <span class="keywordflow">return</span> <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger1">_OffsetX</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea4" doxytag="NLLIGO::CZoneEdge::getOffsetY" ></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="a04558.html#a10">sint32</a> NLLIGO::CZoneEdge::getOffsetY </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="a06767.html#l00087">87</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +References <a class="el" href="a06767.html#l00102">_OffsetY</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00087 { <span class="keywordflow">return</span> <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger2">_OffsetY</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea5" doxytag="NLLIGO::CZoneEdge::getRotation" ></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="a04558.html#a11">uint32</a> NLLIGO::CZoneEdge::getRotation </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> +Get values. +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00085">85</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +References <a class="el" href="a06767.html#l00098">_Rotation</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00085 { <span class="keywordflow">return</span> <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger3">_Rotation</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea6" doxytag="NLLIGO::CZoneEdge::getVertex" ></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"> const <a class="el" href="a03128.html">NLMISC::CVector</a>& NLLIGO::CZoneEdge::getVertex </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>id</em> </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> +Return the vertex. +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00079">79</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +References <a class="el" href="a06767.html#l00092">_TheEdge</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00079 { <span class="keywordflow">return</span> <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>[<span class="keywordtype">id</span>]; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea7" doxytag="NLLIGO::CZoneEdge::invert" ></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 NLLIGO::CZoneEdge::invert </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02756.html">CLigoConfig</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>config</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> +Invert the edge. +<p> + +<p> +Definition at line <a class="el" href="a06766.html#l00195">195</a> of file <a class="el" href="a06766.html">zone_edge.cpp</a>. +<p> +References <a class="el" href="a06767.html#l00092">_TheEdge</a>, <a class="el" href="a05904.html#l00069">NLLIGO::CLigoConfig::CellSize</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06578.html#l00068">NLLIGO::CTransition::build()</a>, and <a class="el" href="a06578.html#l00228">NLLIGO::CTransition::check()</a>. +<p> +<div class="fragment"><pre>00196 { +00197 <span class="comment">// Copy the array</span> +00198 <span class="keyword">const</span> std::vector<NLMISC::CVector> copy = <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>; +00199 +00200 <span class="comment">// For each internal vertices</span> +00201 <a class="code" href="a04558.html#a15">uint</a> vert; +00202 <span class="keywordflow">for</span> (vert=0; vert<_TheEdge.size(); vert++) +00203 { +00204 <span class="comment">// Invert</span> +00205 <span class="keyword">const</span> CVector &pos = copy[_TheEdge.size()-vert-1]; +00206 _TheEdge[vert] = CVector (config.CellSize - pos.x, pos.y, pos.z); +00207 } +00208 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea8" doxytag="NLLIGO::CZoneEdge::isSymetrical" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CZoneEdge::isSymetrical </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02756.html">CLigoConfig</a> & </td> + <td class="mdname" nowrap> <em>config</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02757.html">CLigoError</a> & </td> + <td class="mdname" nowrap> <em>errors</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> +Is symetrical ? +<p> + +<p> +Definition at line <a class="el" href="a06766.html#l00089">89</a> of file <a class="el" href="a06766.html">zone_edge.cpp</a>. +<p> +References <a class="el" href="a06767.html#l00095">_Id</a>, <a class="el" href="a06767.html#l00092">_TheEdge</a>, <a class="el" href="a05904.html#l00069">NLLIGO::CLigoConfig::CellSize</a>, <a class="el" href="a05905.html#l00080">NLLIGO::CLigoError::clear()</a>, <a class="el" href="a05906.html#l00124">NLLIGO::CLigoError::MainError</a>, <a class="el" href="a05905.html#l00040">NLLIGO::CLigoError::pushVertexError()</a>, <a class="el" href="a05904.html#l00072">NLLIGO::CLigoConfig::Snap</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00090 { +00091 <span class="comment">// Cancels errors</span> +00092 errors.clear (); +00093 +00094 <span class="comment">// Errors ?</span> +00095 <span class="keywordtype">bool</span> ok = <span class="keyword">true</span>; +00096 +00097 <span class="comment">// For each internal vertices</span> +00098 <a class="code" href="a04558.html#a15">uint</a> vert; +00099 <span class="keywordflow">for</span> (vert=0; vert<<a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>.size(); vert++) +00100 { +00101 <span class="comment">// Symmetrical value</span> +00102 CVector sym = CVector (config.CellSize-_TheEdge[vert].x, _TheEdge[vert].y, _TheEdge[vert].z); +00103 +00104 <span class="comment">// Others vertices</span> +00105 <a class="code" href="a04558.html#a15">uint</a> vert2; +00106 <span class="keywordflow">for</span> (vert2=0; vert2<<a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>.size(); vert2++) +00107 { +00108 <span class="comment">// Not the same ?</span> +00109 <span class="keywordflow">if</span> (vert != vert2) +00110 { +00111 <span class="comment">// Snapped ?</span> +00112 <span class="keywordflow">if</span> ((<a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>[vert2]-sym).norm() <= config.Snap) +00113 { +00114 <span class="comment">// Good, next one</span> +00115 <span class="keywordflow">break</span>; +00116 } +00117 } +00118 } +00119 +00120 <span class="comment">// Not found ?</span> +00121 <span class="keywordflow">if</span> (vert2>=<a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>.size()) +00122 { +00123 <span class="comment">// Error</span> +00124 ok = <span class="keyword">false</span>; +00125 +00126 <span class="comment">// Push error message</span> +00127 errors.pushVertexError (CLigoError::NotSymetrical, _Id[vert]); +00128 errors.MainError = CLigoError::NotSymetrical; +00129 } +00130 } +00131 +00132 <span class="comment">// Return error code</span> +00133 <span class="keywordflow">return</span> ok; +00134 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea9" doxytag="NLLIGO::CZoneEdge::isTheSame" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CZoneEdge::isTheSame </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03737.html">CZoneEdge</a> & </td> + <td class="mdname" nowrap> <em>other</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02756.html">CLigoConfig</a> & </td> + <td class="mdname" nowrap> <em>config</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02757.html">CLigoError</a> & </td> + <td class="mdname" nowrap> <em>errors</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> +Is the same edge ? +<p> + +<p> +Definition at line <a class="el" href="a06766.html#l00138">138</a> of file <a class="el" href="a06766.html">zone_edge.cpp</a>. +<p> +References <a class="el" href="a06767.html#l00095">_Id</a>, <a class="el" href="a06767.html#l00092">_TheEdge</a>, <a class="el" href="a05906.html#l00124">NLLIGO::CLigoError::MainError</a>, <a class="el" href="a05905.html#l00040">NLLIGO::CLigoError::pushVertexError()</a>, <a class="el" href="a05904.html#l00072">NLLIGO::CLigoConfig::Snap</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06578.html#l00068">NLLIGO::CTransition::build()</a>, and <a class="el" href="a06578.html#l00228">NLLIGO::CTransition::check()</a>. +<p> +<div class="fragment"><pre>00139 { +00140 <span class="comment">// Same vertex count ?</span> +00141 <span class="keywordflow">if</span> (<a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>.size() != other._TheEdge.size()) +00142 { +00143 <span class="comment">// Error</span> +00144 errors.MainError = CLigoError::NotSameVerticesNumber; +00145 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00146 } +00147 +00148 <span class="comment">// Errors ?</span> +00149 <span class="keywordtype">bool</span> ok = <span class="keyword">true</span>; +00150 +00151 <span class="comment">// For each internal vertices</span> +00152 <a class="code" href="a04558.html#a15">uint</a> vert; +00153 <span class="keywordflow">for</span> (vert=0; vert<<a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>.size(); vert++) +00154 { +00155 <span class="comment">// The same ?</span> +00156 <span class="keyword">const</span> CVector &pos0 = <a class="code" href="a03737.html#NLLIGO_1_1CZoneEdger4">_TheEdge</a>[vert]; +00157 <span class="keyword">const</span> CVector &pos1 = other._TheEdge[vert]; +00158 <span class="keywordflow">if</span> ((pos0-pos1).norm() > config.Snap) +00159 { +00160 <span class="comment">// Error</span> +00161 ok = <span class="keyword">false</span>; +00162 +00163 <span class="comment">// Push error message</span> +00164 errors.pushVertexError (CLigoError::NotSameVertex, other._Id[vert]); +00165 errors.MainError = CLigoError::NotSameVertex; +00166 } +00167 } +00168 +00169 <span class="comment">// Return error code</span> +00170 <span class="keywordflow">return</span> ok; +00171 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdgea10" doxytag="NLLIGO::CZoneEdge::serial" ></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 NLLIGO::CZoneEdge::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>s</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> +Serial. +<p> + +<p> +Definition at line <a class="el" href="a06766.html#l00175">175</a> of file <a class="el" href="a06766.html">zone_edge.cpp</a>. +<p> +References <a class="el" href="a06767.html#l00095">_Id</a>, <a class="el" href="a06767.html#l00101">_OffsetX</a>, <a class="el" href="a06767.html#l00102">_OffsetY</a>, <a class="el" href="a06767.html#l00098">_Rotation</a>, <a class="el" href="a06767.html#l00092">_TheEdge</a>, and <a class="el" href="a05646.html#l00977">s</a>. +<p> +<div class="fragment"><pre>00176 { +00177 <span class="comment">// Serial the version</span> +00178 <span class="comment">/*sint ver =*/</span> <a class="code" href="a04223.html#a626">s</a>.serialVersion (0); +00179 +00180 <a class="code" href="a04223.html#a626">s</a>.xmlPush (<span class="stringliteral">"VERTICES"</span>); +00181 <a class="code" href="a04223.html#a626">s</a>.serialCont (_TheEdge); +00182 <a class="code" href="a04223.html#a626">s</a>.xmlPop (); +00183 +00184 <a class="code" href="a04223.html#a626">s</a>.xmlPush (<span class="stringliteral">"VERTICES_ID"</span>); +00185 <a class="code" href="a04223.html#a626">s</a>.serialCont (_Id); +00186 <a class="code" href="a04223.html#a626">s</a>.xmlPop (); +00187 +00188 <a class="code" href="a04223.html#a626">s</a>.xmlSerial (_Rotation, <span class="stringliteral">"ROTATION"</span>); +00189 +00190 <a class="code" href="a04223.html#a626">s</a>.xmlSerial (_OffsetX, _OffsetY, <span class="stringliteral">"OFFSET"</span>); +00191 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLLIGO_1_1CZoneEdger0" doxytag="NLLIGO::CZoneEdge::_Id" ></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"> std::vector<<a class="el" href="a04558.html#a11">uint32</a>> <a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger0">NLLIGO::CZoneEdge::_Id</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Id of the vertices. +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00095">95</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +Referenced by <a class="el" href="a06766.html#l00041">build()</a>, <a class="el" href="a06766.html#l00089">isSymetrical()</a>, <a class="el" href="a06766.html#l00138">isTheSame()</a>, and <a class="el" href="a06766.html#l00175">serial()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdger1" doxytag="NLLIGO::CZoneEdge::_OffsetX" ></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="a04558.html#a10">sint32</a> <a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger1">NLLIGO::CZoneEdge::_OffsetX</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +X an Y offset of the edge. the position of the i-th vertex is rotate (_Rotation) * (theEdge[i], 0, 0) + (_OffsetX, _OffsetY, 0). +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00101">101</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +Referenced by <a class="el" href="a06766.html#l00041">build()</a>, <a class="el" href="a06766.html#l00212">buildMatrix()</a>, <a class="el" href="a06767.html#l00086">getOffsetX()</a>, and <a class="el" href="a06766.html#l00175">serial()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdger2" doxytag="NLLIGO::CZoneEdge::_OffsetY" ></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="a04558.html#a10">sint32</a> <a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger2">NLLIGO::CZoneEdge::_OffsetY</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00102">102</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +Referenced by <a class="el" href="a06766.html#l00041">build()</a>, <a class="el" href="a06766.html#l00212">buildMatrix()</a>, <a class="el" href="a06767.html#l00087">getOffsetY()</a>, and <a class="el" href="a06766.html#l00175">serial()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdger3" doxytag="NLLIGO::CZoneEdge::_Rotation" ></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="a04558.html#a11">uint32</a> <a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger3">NLLIGO::CZoneEdge::_Rotation</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Rotation of the edge. Must be 0, 1, 2, 3. The rotation angle is Pi/2 * (double)_Rotation in CCW. +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00098">98</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +Referenced by <a class="el" href="a06766.html#l00041">build()</a>, <a class="el" href="a06766.html#l00212">buildMatrix()</a>, <a class="el" href="a06767.html#l00085">getRotation()</a>, and <a class="el" href="a06766.html#l00175">serial()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CZoneEdger4" doxytag="NLLIGO::CZoneEdge::_TheEdge" ></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"> std::vector<<a class="el" href="a03128.html">NLMISC::CVector</a>> <a class="el" href="a03737.html#NLLIGO_1_1CZoneEdger4">NLLIGO::CZoneEdge::_TheEdge</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +The vector of position for this edge. +<p> + +<p> +Definition at line <a class="el" href="a06767.html#l00092">92</a> of file <a class="el" href="a06767.html">zone_edge.h</a>. +<p> +Referenced by <a class="el" href="a06766.html#l00041">build()</a>, <a class="el" href="a06767.html#l00076">getNumVertex()</a>, <a class="el" href="a06767.html#l00079">getVertex()</a>, <a class="el" href="a06766.html#l00195">invert()</a>, <a class="el" href="a06766.html#l00089">isSymetrical()</a>, <a class="el" href="a06766.html#l00138">isTheSame()</a>, and <a class="el" href="a06766.html#l00175">serial()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06767.html">zone_edge.h</a><li><a class="el" href="a06766.html">zone_edge.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 12:51:29 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> |