Files
recastnavigation/RecastRegion_8cpp.html

1101 lines
49 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Recast Navigation: RecastRegion.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
<td id="projectalign">
<div id="projectname">Recast Navigation
</div>
<div id="projectbrief">Navigation-mesh Toolset for Games</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('RecastRegion_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">RecastRegion.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;float.h&gt;</code><br />
<code>#include &lt;math.h&gt;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &quot;<a class="el" href="Recast_8h_source.html">Recast.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="RecastAlloc_8h_source.html">RecastAlloc.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="RecastAssert_8h_source.html">RecastAssert.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDirtyEntry.html">DirtyEntry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrcRegion.html">rcRegion</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrcSweepSpan.html">rcSweepSpan</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af63d2a9505ebfbbf63efc02531af5153" id="r_af63d2a9505ebfbbf63efc02531af5153"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#af63d2a9505ebfbbf63efc02531af5153">calculateDistanceField</a> (<a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, unsigned short *src, unsigned short &amp;maxDist)</td></tr>
<tr class="separator:af63d2a9505ebfbbf63efc02531af5153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c7b71f11f9de3d25eb66d09206bb40a" id="r_a8c7b71f11f9de3d25eb66d09206bb40a"><td class="memItemLeft" align="right" valign="top">static unsigned short *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a8c7b71f11f9de3d25eb66d09206bb40a">boxBlur</a> (<a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, int thr, unsigned short *src, unsigned short *dst)</td></tr>
<tr class="separator:a8c7b71f11f9de3d25eb66d09206bb40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad881e621a7be30bee577ec6a56bf18b3" id="r_ad881e621a7be30bee577ec6a56bf18b3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#ad881e621a7be30bee577ec6a56bf18b3">floodRegion</a> (int x, int y, int i, unsigned short level, unsigned short r, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, unsigned short *srcReg, unsigned short *srcDist, <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;stack)</td></tr>
<tr class="separator:ad881e621a7be30bee577ec6a56bf18b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a019a1b335b38abce33594128c4806a04" id="r_a019a1b335b38abce33594128c4806a04"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a019a1b335b38abce33594128c4806a04">expandRegions</a> (int maxIter, unsigned short level, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, unsigned short *srcReg, unsigned short *srcDist, <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;stack, bool fillStack)</td></tr>
<tr class="separator:a019a1b335b38abce33594128c4806a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02ba6d0e792550e0ce791fa42ef865d1" id="r_a02ba6d0e792550e0ce791fa42ef865d1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a02ba6d0e792550e0ce791fa42ef865d1">sortCellsByLevel</a> (unsigned short startLevel, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, const unsigned short *srcReg, unsigned int nbStacks, <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; *stacks, unsigned short loglevelsPerStack)</td></tr>
<tr class="separator:a02ba6d0e792550e0ce791fa42ef865d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae78c0a97b367d4ace3294d6dcb8216" id="r_acae78c0a97b367d4ace3294d6dcb8216"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#acae78c0a97b367d4ace3294d6dcb8216">appendStacks</a> (const <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;srcStack, <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;dstStack, const unsigned short *srcReg)</td></tr>
<tr class="separator:acae78c0a97b367d4ace3294d6dcb8216"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acee28f21b593f1ff6a235c444fafc59c" id="r_acee28f21b593f1ff6a235c444fafc59c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#acee28f21b593f1ff6a235c444fafc59c">removeAdjacentNeighbours</a> (<a class="el" href="structrcRegion.html">rcRegion</a> &amp;reg)</td></tr>
<tr class="separator:acee28f21b593f1ff6a235c444fafc59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b2ece2d7931891cdb3fe0b7b41de1b4" id="r_a5b2ece2d7931891cdb3fe0b7b41de1b4"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a5b2ece2d7931891cdb3fe0b7b41de1b4">replaceNeighbour</a> (<a class="el" href="structrcRegion.html">rcRegion</a> &amp;reg, unsigned short oldId, unsigned short newId)</td></tr>
<tr class="separator:a5b2ece2d7931891cdb3fe0b7b41de1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b19ff33ed5153482d1b80b285209e54" id="r_a9b19ff33ed5153482d1b80b285209e54"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a9b19ff33ed5153482d1b80b285209e54">canMergeWithRegion</a> (const <a class="el" href="structrcRegion.html">rcRegion</a> &amp;rega, const <a class="el" href="structrcRegion.html">rcRegion</a> &amp;regb)</td></tr>
<tr class="separator:a9b19ff33ed5153482d1b80b285209e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c802a2c5fc0d5e7e5d95a19539ff9a6" id="r_a2c802a2c5fc0d5e7e5d95a19539ff9a6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a2c802a2c5fc0d5e7e5d95a19539ff9a6">addUniqueFloorRegion</a> (<a class="el" href="structrcRegion.html">rcRegion</a> &amp;reg, int n)</td></tr>
<tr class="separator:a2c802a2c5fc0d5e7e5d95a19539ff9a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6ad7bc5d6c9f39726a4574813bce7ec" id="r_aa6ad7bc5d6c9f39726a4574813bce7ec"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#aa6ad7bc5d6c9f39726a4574813bce7ec">mergeRegions</a> (<a class="el" href="structrcRegion.html">rcRegion</a> &amp;rega, <a class="el" href="structrcRegion.html">rcRegion</a> &amp;regb)</td></tr>
<tr class="separator:aa6ad7bc5d6c9f39726a4574813bce7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a362976ffc8da436099d6ce5d2a8e8996" id="r_a362976ffc8da436099d6ce5d2a8e8996"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a362976ffc8da436099d6ce5d2a8e8996">isRegionConnectedToBorder</a> (const <a class="el" href="structrcRegion.html">rcRegion</a> &amp;reg)</td></tr>
<tr class="separator:a362976ffc8da436099d6ce5d2a8e8996"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48ba7bc4cd4b13a577c07dadf1361d76" id="r_a48ba7bc4cd4b13a577c07dadf1361d76"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a48ba7bc4cd4b13a577c07dadf1361d76">isSolidEdge</a> (<a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, const unsigned short *srcReg, int x, int y, int i, int dir)</td></tr>
<tr class="separator:a48ba7bc4cd4b13a577c07dadf1361d76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5b409f4205cd02ac7714e606e6e5882" id="r_ab5b409f4205cd02ac7714e606e6e5882"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#ab5b409f4205cd02ac7714e606e6e5882">walkContour</a> (int x, int y, int i, int dir, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, const unsigned short *srcReg, <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; int &gt; &amp;cont)</td></tr>
<tr class="separator:ab5b409f4205cd02ac7714e606e6e5882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd46c685c34317694a2c7bc29caa3494" id="r_abd46c685c34317694a2c7bc29caa3494"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#abd46c685c34317694a2c7bc29caa3494">mergeAndFilterRegions</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, int minRegionArea, int mergeRegionSize, unsigned short &amp;maxRegionId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, unsigned short *srcReg, <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; int &gt; &amp;overlaps)</td></tr>
<tr class="separator:abd46c685c34317694a2c7bc29caa3494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc58499e6aeb21a4cd58d048c06f2ec0" id="r_abc58499e6aeb21a4cd58d048c06f2ec0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#abc58499e6aeb21a4cd58d048c06f2ec0">addUniqueConnection</a> (<a class="el" href="structrcRegion.html">rcRegion</a> &amp;reg, int n)</td></tr>
<tr class="separator:abc58499e6aeb21a4cd58d048c06f2ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25912e8836b3489f54fecd65d850beff" id="r_a25912e8836b3489f54fecd65d850beff"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#a25912e8836b3489f54fecd65d850beff">mergeAndFilterLayerRegions</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, int minRegionArea, unsigned short &amp;maxRegionId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, unsigned short *srcReg)</td></tr>
<tr class="separator:a25912e8836b3489f54fecd65d850beff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga255c830cc0d30fa0229a05033242e77d" id="r_ga255c830cc0d30fa0229a05033242e77d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d">rcBuildDistanceField</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf)</td></tr>
<tr class="memdesc:ga255c830cc0d30fa0229a05033242e77d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds the distance field for the specified compact heightfield. <br /></td></tr>
<tr class="separator:ga255c830cc0d30fa0229a05033242e77d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc80f3a23c09dd8f6570fa5b3d30792a" id="r_abc80f3a23c09dd8f6570fa5b3d30792a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#abc80f3a23c09dd8f6570fa5b3d30792a">paintRectRegion</a> (int minx, int maxx, int miny, int maxy, unsigned short regId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, unsigned short *srcReg)</td></tr>
<tr class="separator:abc80f3a23c09dd8f6570fa5b3d30792a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac750ac6caa254759ef0bccf8afc7f67f" id="r_gac750ac6caa254759ef0bccf8afc7f67f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f">rcBuildRegionsMonotone</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, const int borderSize, const int minRegionArea, const int mergeRegionArea)</td></tr>
<tr class="memdesc:gac750ac6caa254759ef0bccf8afc7f67f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds region data for the heightfield using simple monotone partitioning. <br /></td></tr>
<tr class="separator:gac750ac6caa254759ef0bccf8afc7f67f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf89da5f503884e43f955639343333cea" id="r_gaf89da5f503884e43f955639343333cea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gaf89da5f503884e43f955639343333cea">rcBuildRegions</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, const int borderSize, const int minRegionArea, const int mergeRegionArea)</td></tr>
<tr class="memdesc:gaf89da5f503884e43f955639343333cea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds region data for the heightfield using watershed partitioning. <br /></td></tr>
<tr class="separator:gaf89da5f503884e43f955639343333cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44a9272ded073492dd74b1a871d9d1a0" id="r_ga44a9272ded073492dd74b1a871d9d1a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0">rcBuildLayerRegions</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;chf, const int borderSize, const int minRegionArea)</td></tr>
<tr class="memdesc:ga44a9272ded073492dd74b1a871d9d1a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers. <br /></td></tr>
<tr class="separator:ga44a9272ded073492dd74b1a871d9d1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ae985981f9a0039f8584d8c165959c817" id="r_ae985981f9a0039f8584d8c165959c817"><td class="memItemLeft" align="right" valign="top">static const unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="RecastRegion_8cpp.html#ae985981f9a0039f8584d8c165959c817">RC_NULL_NEI</a> = 0xffff</td></tr>
<tr class="separator:ae985981f9a0039f8584d8c165959c817"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="abc58499e6aeb21a4cd58d048c06f2ec0" name="abc58499e6aeb21a4cd58d048c06f2ec0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc58499e6aeb21a4cd58d048c06f2ec0">&#9670;&#160;</a></span>addUniqueConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void addUniqueConnection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2c802a2c5fc0d5e7e5d95a19539ff9a6" name="a2c802a2c5fc0d5e7e5d95a19539ff9a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c802a2c5fc0d5e7e5d95a19539ff9a6">&#9670;&#160;</a></span>addUniqueFloorRegion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void addUniqueFloorRegion </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acae78c0a97b367d4ace3294d6dcb8216" name="acae78c0a97b367d4ace3294d6dcb8216"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acae78c0a97b367d4ace3294d6dcb8216">&#9670;&#160;</a></span>appendStacks()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void appendStacks </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;&#160;</td>
<td class="paramname"><em>srcStack</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;&#160;</td>
<td class="paramname"><em>dstStack</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8c7b71f11f9de3d25eb66d09206bb40a" name="a8c7b71f11f9de3d25eb66d09206bb40a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c7b71f11f9de3d25eb66d09206bb40a">&#9670;&#160;</a></span>boxBlur()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static unsigned short * boxBlur </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>thr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>dst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af63d2a9505ebfbbf63efc02531af5153" name="af63d2a9505ebfbbf63efc02531af5153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af63d2a9505ebfbbf63efc02531af5153">&#9670;&#160;</a></span>calculateDistanceField()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void calculateDistanceField </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short &amp;&#160;</td>
<td class="paramname"><em>maxDist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9b19ff33ed5153482d1b80b285209e54" name="a9b19ff33ed5153482d1b80b285209e54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b19ff33ed5153482d1b80b285209e54">&#9670;&#160;</a></span>canMergeWithRegion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool canMergeWithRegion </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>rega</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>regb</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a019a1b335b38abce33594128c4806a04" name="a019a1b335b38abce33594128c4806a04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a019a1b335b38abce33594128c4806a04">&#9670;&#160;</a></span>expandRegions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void expandRegions </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxIter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcDist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;&#160;</td>
<td class="paramname"><em>stack</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fillStack</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad881e621a7be30bee577ec6a56bf18b3" name="ad881e621a7be30bee577ec6a56bf18b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad881e621a7be30bee577ec6a56bf18b3">&#9670;&#160;</a></span>floodRegion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool floodRegion </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcDist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; &amp;&#160;</td>
<td class="paramname"><em>stack</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a362976ffc8da436099d6ce5d2a8e8996" name="a362976ffc8da436099d6ce5d2a8e8996"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a362976ffc8da436099d6ce5d2a8e8996">&#9670;&#160;</a></span>isRegionConnectedToBorder()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool isRegionConnectedToBorder </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>reg</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a48ba7bc4cd4b13a577c07dadf1361d76" name="a48ba7bc4cd4b13a577c07dadf1361d76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48ba7bc4cd4b13a577c07dadf1361d76">&#9670;&#160;</a></span>isSolidEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool isSolidEdge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a25912e8836b3489f54fecd65d850beff" name="a25912e8836b3489f54fecd65d850beff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25912e8836b3489f54fecd65d850beff">&#9670;&#160;</a></span>mergeAndFilterLayerRegions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool mergeAndFilterLayerRegions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>minRegionArea</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short &amp;&#160;</td>
<td class="paramname"><em>maxRegionId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abd46c685c34317694a2c7bc29caa3494" name="abd46c685c34317694a2c7bc29caa3494"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd46c685c34317694a2c7bc29caa3494">&#9670;&#160;</a></span>mergeAndFilterRegions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool mergeAndFilterRegions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>minRegionArea</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mergeRegionSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short &amp;&#160;</td>
<td class="paramname"><em>maxRegionId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>overlaps</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa6ad7bc5d6c9f39726a4574813bce7ec" name="aa6ad7bc5d6c9f39726a4574813bce7ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6ad7bc5d6c9f39726a4574813bce7ec">&#9670;&#160;</a></span>mergeRegions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool mergeRegions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>rega</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>regb</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abc80f3a23c09dd8f6570fa5b3d30792a" name="abc80f3a23c09dd8f6570fa5b3d30792a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc80f3a23c09dd8f6570fa5b3d30792a">&#9670;&#160;</a></span>paintRectRegion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void paintRectRegion </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>minx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>miny</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>regId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acee28f21b593f1ff6a235c444fafc59c" name="acee28f21b593f1ff6a235c444fafc59c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acee28f21b593f1ff6a235c444fafc59c">&#9670;&#160;</a></span>removeAdjacentNeighbours()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void removeAdjacentNeighbours </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>reg</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5b2ece2d7931891cdb3fe0b7b41de1b4" name="a5b2ece2d7931891cdb3fe0b7b41de1b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b2ece2d7931891cdb3fe0b7b41de1b4">&#9670;&#160;</a></span>replaceNeighbour()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void replaceNeighbour </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structrcRegion.html">rcRegion</a> &amp;&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>oldId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>newId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a02ba6d0e792550e0ce791fa42ef865d1" name="a02ba6d0e792550e0ce791fa42ef865d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02ba6d0e792550e0ce791fa42ef865d1">&#9670;&#160;</a></span>sortCellsByLevel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void sortCellsByLevel </td>
<td>(</td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>startLevel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>nbStacks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; LevelStackEntry &gt; *&#160;</td>
<td class="paramname"><em>stacks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>loglevelsPerStack</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab5b409f4205cd02ac7714e606e6e5882" name="ab5b409f4205cd02ac7714e606e6e5882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5b409f4205cd02ac7714e606e6e5882">&#9670;&#160;</a></span>walkContour()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void walkContour </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &amp;&#160;</td>
<td class="paramname"><em>chf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned short *&#160;</td>
<td class="paramname"><em>srcReg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrcTempVector.html">rcTempVector</a>&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>cont</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ae985981f9a0039f8584d8c165959c817" name="ae985981f9a0039f8584d8c165959c817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae985981f9a0039f8584d8c165959c817">&#9670;&#160;</a></span>RC_NULL_NEI</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const unsigned short RC_NULL_NEI = 0xffff</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_e6cf54c9d4d29ff4a28752d861cf44fa.html">Recast</a></li><li class="navelem"><a class="el" href="dir_fe7f4084ac0458032f1df717ceae8313.html">Source</a></li><li class="navelem"><a class="el" href="RecastRegion_8cpp.html">RecastRegion.cpp</a></li>
&nbsp;&nbsp;<a href="https://github.com/recastnavigation/recastnavigation">Project Home</a>
| <a href="./License.txt">Licence (ZLib)</a>
| Copyright 2009 Mikko Mononen
</ul>
</div>
</body>
</html>