<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Unuk: src/libUnuk/Node.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="logo.png"/></td> <td style="padding-left: 0.5em;"> <div id="projectname">Unuk <span id="projectnumber">1.0</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('_node_8h.html',''); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">src/libUnuk/Node.h</div> </div> </div> <div class="contents"> <a href="_node_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef _NODE_H_</span> <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define _NODE_H_</span> <a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#include <memory.h></span> <a name="l00004"></a>00004 <a name="l00005"></a>00005 <span class="preprocessor">#ifndef NULL</span> <a name="l00006"></a><a class="code" href="_node_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">00006</a> <span class="preprocessor"></span><span class="preprocessor">#define NULL 0</span> <a name="l00007"></a>00007 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00008"></a>00008 <span class="preprocessor"></span> <a name="l00009"></a><a class="code" href="_node_8h.html#ab05545428df79998c9e194b94af5719e">00009</a> <span class="preprocessor">#define NL_ADDOPEN 0</span> <a name="l00010"></a><a class="code" href="_node_8h.html#a9837623b7b68b7e300c6a7da2d9d7031">00010</a> <span class="preprocessor"></span><span class="preprocessor">#define NL_STARTOPEN 1</span> <a name="l00011"></a><a class="code" href="_node_8h.html#a1acd562f710a6449a6b18bae027f0bf6">00011</a> <span class="preprocessor"></span><span class="preprocessor">#define NL_DELETEOPEN 2</span> <a name="l00012"></a><a class="code" href="_node_8h.html#a8c19a2edf0ff02eb011b5520ba20cb4c">00012</a> <span class="preprocessor"></span><span class="preprocessor">#define NL_ADDCLOSED 3</span> <a name="l00013"></a>00013 <span class="preprocessor"></span> <a name="l00014"></a><a class="code" href="_node_8h.html#a71037a5b18b40a73fdfbca2e6ab14992">00014</a> <span class="preprocessor">#define NC_INITIALADD 0</span> <a name="l00015"></a><a class="code" href="_node_8h.html#a4977c8f5a18809e124f6dc06e2c7e782">00015</a> <span class="preprocessor"></span><span class="preprocessor">#define NC_OPENADD_UP 1</span> <a name="l00016"></a><a class="code" href="_node_8h.html#af982644c11c402068e438d16a1efc6ca">00016</a> <span class="preprocessor"></span><span class="preprocessor">#define NC_OPENADD 2</span> <a name="l00017"></a><a class="code" href="_node_8h.html#a84ef0807d04367327b2fc3a127f39323">00017</a> <span class="preprocessor"></span><span class="preprocessor">#define NC_CLOSEDADD_UP 3</span> <a name="l00018"></a><a class="code" href="_node_8h.html#aef8d92ca08f0677c66fb95c93bf0c8f4">00018</a> <span class="preprocessor"></span><span class="preprocessor">#define NC_CLOSEADD 4</span> <a name="l00019"></a><a class="code" href="_node_8h.html#a9433aa84fc8e737fc09ed9fa9640a0a5">00019</a> <span class="preprocessor"></span><span class="preprocessor">#define NC_NEWADD 5</span> <a name="l00020"></a>00020 <span class="preprocessor"></span> <a name="l00021"></a><a class="code" href="class_node.html">00021</a> <span class="keyword">class </span><a class="code" href="class_node.html">Node</a> { <a name="l00022"></a>00022 <span class="keyword">public</span>: <a name="l00023"></a><a class="code" href="class_node.html#aa059c5a44ee9833408f8efa087eeeee2">00023</a> <a class="code" href="class_node.html#aa059c5a44ee9833408f8efa087eeeee2">Node</a>(<span class="keywordtype">int</span> posx = -1, <span class="keywordtype">int</span> posy = -1) : <a class="code" href="wglext_8h.html#ad77deca22f617d3f0e0eb786445689fc">x</a>(posx), <a class="code" href="wglext_8h.html#a9298c7ad619074f5285b32c6b72bfdea">y</a>(posy), <a class="code" href="class_node.html#a59a543130a10c95f1e8642cf8c5645e8">id</a>(0), <a class="code" href="class_node.html#a5037540b2e3d6349d66ea25b062b6aa8">numChildren</a>(0) { <a name="l00024"></a>00024 <a class="code" href="class_node.html#ad8184598cdea70e4bbdfd76f2b0f9e85">parent</a> = <a class="code" href="class_node.html#a2559a716f69ccaa76d648d9f1b83065e">next</a> = <a class="code" href="_node_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>; <a name="l00025"></a>00025 memset(<a class="code" href="class_node.html#a5ce833fd049e87166f1c7acb6a803fba">children</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="class_node.html#a5ce833fd049e87166f1c7acb6a803fba">children</a>)); <a name="l00026"></a>00026 } <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="comment">// Fitness, goal, heuristic.</span> <a name="l00029"></a><a class="code" href="class_node.html#afb5a7ac7536a9e09488bb685420cd78a">00029</a> <span class="keywordtype">int</span> <a class="code" href="class_node.html#a32fbe9e0f4fc9e9d1845ce808738d7ab">f</a>, <a class="code" href="class_node.html#a0b249888eacdec6c623ec8c58b230c48">g</a>, <a class="code" href="class_node.html#afb5a7ac7536a9e09488bb685420cd78a">h</a>; <a name="l00030"></a>00030 <span class="comment">// Position x and y.</span> <a name="l00031"></a><a class="code" href="class_node.html#aa3e5b5240023b4528ae85057b3324202">00031</a> <span class="keywordtype">int</span> <a class="code" href="class_node.html#aff1029a518bdc2651007b8856f958364">x</a>, <a class="code" href="class_node.html#aa3e5b5240023b4528ae85057b3324202">y</a>; <a name="l00032"></a><a class="code" href="class_node.html#a5037540b2e3d6349d66ea25b062b6aa8">00032</a> <span class="keywordtype">int</span> <a class="code" href="class_node.html#a5037540b2e3d6349d66ea25b062b6aa8">numChildren</a>; <span class="comment">// x*m_rows+y</span> <a name="l00033"></a><a class="code" href="class_node.html#a59a543130a10c95f1e8642cf8c5645e8">00033</a> <span class="keywordtype">int</span> <a class="code" href="class_node.html#a59a543130a10c95f1e8642cf8c5645e8">id</a>; <a name="l00034"></a>00034 <a name="l00035"></a><a class="code" href="class_node.html#ad8184598cdea70e4bbdfd76f2b0f9e85">00035</a> <a class="code" href="class_node.html">Node</a> *<a class="code" href="class_node.html#ad8184598cdea70e4bbdfd76f2b0f9e85">parent</a>; <a name="l00036"></a><a class="code" href="class_node.html#a2559a716f69ccaa76d648d9f1b83065e">00036</a> <a class="code" href="class_node.html">Node</a> *<a class="code" href="class_node.html#a2559a716f69ccaa76d648d9f1b83065e">next</a>; <a name="l00037"></a>00037 <span class="comment">// Square tiles.</span> <a name="l00038"></a><a class="code" href="class_node.html#a5ce833fd049e87166f1c7acb6a803fba">00038</a> <a class="code" href="class_node.html">Node</a> *<a class="code" href="class_node.html#a5ce833fd049e87166f1c7acb6a803fba">children</a>[8]; <a name="l00039"></a>00039 }; <a name="l00040"></a>00040 <a name="l00041"></a><a class="code" href="struct_stack.html">00041</a> <span class="keyword">struct </span><a class="code" href="struct_stack.html">Stack</a> { <a name="l00042"></a><a class="code" href="struct_stack.html#afb75952b7ab4d111446c905ccaac037d">00042</a> <a class="code" href="class_node.html">Node</a> *<a class="code" href="struct_stack.html#afb75952b7ab4d111446c905ccaac037d">data</a>; <a name="l00043"></a><a class="code" href="struct_stack.html#a7a6cf9dd6bb0d7f33317bbeb1e6a044d">00043</a> <a class="code" href="struct_stack.html">Stack</a> *<a class="code" href="struct_stack.html#a7a6cf9dd6bb0d7f33317bbeb1e6a044d">next</a>; <a name="l00044"></a>00044 }; <a name="l00045"></a>00045 <a name="l00046"></a><a class="code" href="_node_8h.html#a65d456bd1d6bcbf35022277e41f5c9c7">00046</a> <span class="keyword">typedef</span> <a class="code" href="wglext_8h.html#a500a82aecba06f4550f6849b8099ca21">int</a>(*<a class="code" href="_node_8h.html#a65d456bd1d6bcbf35022277e41f5c9c7">Func</a>) (<a class="code" href="class_node.html">Node</a> *, <a class="code" href="class_node.html">Node</a> *, <a class="code" href="wglext_8h.html#a500a82aecba06f4550f6849b8099ca21">int</a>, <span class="keywordtype">void</span> *); <a name="l00047"></a>00047 <a name="l00048"></a>00048 <span class="preprocessor">#endif</span> </pre></div></div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="_node_8h.html">Node.h</a> </li> <li class="footer">Generated on Wed Nov 2 2011 23:04:26 for Unuk by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </body> </html>