mirror of
https://github.com/recastnavigation/recastnavigation.git
synced 2026-08-31 07:28:48 +00:00
2807 lines
178 KiB
HTML
2807 lines
178 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">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.9.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Recast Navigation: Recast</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 style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<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.1 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('group__recast.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">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">Recast</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Members in this module are used to create mesh data that is then used to create Detour navigation meshes.
|
|
<a href="#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classrcContext.html">rcContext</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Provides an interface for optional logging and performance tracking of the Recast build process. <a href="classrcContext.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcConfig.html">rcConfig</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specifies a configuration to use when performing Recast builds. <a href="structrcConfig.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcHeightfield.html">rcHeightfield</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A dynamic heightfield representing obstructed space. <a href="structrcHeightfield.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A compact, static heightfield representing unobstructed space. <a href="structrcCompactHeightfield.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a set of heightfield layers. <a href="structrcHeightfieldLayerSet.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcContourSet.html">rcContourSet</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a group of related contours. <a href="structrcContourSet.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a polygon mesh suitable for use in building a navigation mesh. <a href="structrcPolyMesh.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Contains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object. <a href="structrcPolyMeshDetail.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader">Allocation Functions</h2></td></tr>
|
|
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp44df2f7462b8533d7f8b2169b4388298"></a>Functions used to allocate and de-allocate Recast objects.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="RecastAlloc_8cpp.html#ae3f9da3566ad0877b9e4c9e92f8e1a15" title="Sets the base custom allocation functions to be used by Recast.">rcAllocSetCustom</a> </dd></dl>
|
|
</td></tr>
|
|
<tr class="memitem:ga3e717cb2fa2ef5d123f0fa218f0630a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9">rcAllocHeightfield</a> ()</td></tr>
|
|
<tr class="memdesc:ga3e717cb2fa2ef5d123f0fa218f0630a9"><td class="mdescLeft"> </td><td class="mdescRight">Allocates a heightfield object using the Recast allocator. <a href="group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9">More...</a><br /></td></tr>
|
|
<tr class="separator:ga3e717cb2fa2ef5d123f0fa218f0630a9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga63549624426821904ecf1a92ddcccaea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga63549624426821904ecf1a92ddcccaea">rcFreeHeightField</a> (<a class="el" href="structrcHeightfield.html">rcHeightfield</a> *heightfield)</td></tr>
|
|
<tr class="memdesc:ga63549624426821904ecf1a92ddcccaea"><td class="mdescLeft"> </td><td class="mdescRight">Frees the specified heightfield object using the Recast allocator. <a href="group__recast.html#ga63549624426821904ecf1a92ddcccaea">More...</a><br /></td></tr>
|
|
<tr class="separator:ga63549624426821904ecf1a92ddcccaea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga63ec2ca68dc897018b8b013507b9714d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga63ec2ca68dc897018b8b013507b9714d">rcAllocCompactHeightfield</a> ()</td></tr>
|
|
<tr class="memdesc:ga63ec2ca68dc897018b8b013507b9714d"><td class="mdescLeft"> </td><td class="mdescRight">Allocates a compact heightfield object using the Recast allocator. <a href="group__recast.html#ga63ec2ca68dc897018b8b013507b9714d">More...</a><br /></td></tr>
|
|
<tr class="separator:ga63ec2ca68dc897018b8b013507b9714d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga914ed7cee333a9c29513d917f6bb4716"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga914ed7cee333a9c29513d917f6bb4716">rcFreeCompactHeightfield</a> (<a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> *compactHeightfield)</td></tr>
|
|
<tr class="memdesc:ga914ed7cee333a9c29513d917f6bb4716"><td class="mdescLeft"> </td><td class="mdescRight">Frees the specified compact heightfield object using the Recast allocator. <a href="group__recast.html#ga914ed7cee333a9c29513d917f6bb4716">More...</a><br /></td></tr>
|
|
<tr class="separator:ga914ed7cee333a9c29513d917f6bb4716"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadc45406abb9ac9d1efddee04054207f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gadc45406abb9ac9d1efddee04054207f5">rcAllocHeightfieldLayerSet</a> ()</td></tr>
|
|
<tr class="memdesc:gadc45406abb9ac9d1efddee04054207f5"><td class="mdescLeft"> </td><td class="mdescRight">Allocates a heightfield layer set using the Recast allocator. <a href="group__recast.html#gadc45406abb9ac9d1efddee04054207f5">More...</a><br /></td></tr>
|
|
<tr class="separator:gadc45406abb9ac9d1efddee04054207f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga657ea6ef521e4caadc4467bd61e26016"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga657ea6ef521e4caadc4467bd61e26016">rcFreeHeightfieldLayerSet</a> (<a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a> *layerSet)</td></tr>
|
|
<tr class="memdesc:ga657ea6ef521e4caadc4467bd61e26016"><td class="mdescLeft"> </td><td class="mdescRight">Frees the specified heightfield layer set using the Recast allocator. <a href="group__recast.html#ga657ea6ef521e4caadc4467bd61e26016">More...</a><br /></td></tr>
|
|
<tr class="separator:ga657ea6ef521e4caadc4467bd61e26016"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2b1a22ec58d51570e352c19cb2cb22a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrcContourSet.html">rcContourSet</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2">rcAllocContourSet</a> ()</td></tr>
|
|
<tr class="memdesc:ga2b1a22ec58d51570e352c19cb2cb22a2"><td class="mdescLeft"> </td><td class="mdescRight">Allocates a contour set object using the Recast allocator. <a href="group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2b1a22ec58d51570e352c19cb2cb22a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gae3a9621529cb8d471a95161bd7d0ca96"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96">rcFreeContourSet</a> (<a class="el" href="structrcContourSet.html">rcContourSet</a> *contourSet)</td></tr>
|
|
<tr class="memdesc:gae3a9621529cb8d471a95161bd7d0ca96"><td class="mdescLeft"> </td><td class="mdescRight">Frees the specified contour set using the Recast allocator. <a href="group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96">More...</a><br /></td></tr>
|
|
<tr class="separator:gae3a9621529cb8d471a95161bd7d0ca96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1b6942363f019860984263c0f8f62b9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga1b6942363f019860984263c0f8f62b9d">rcAllocPolyMesh</a> ()</td></tr>
|
|
<tr class="memdesc:ga1b6942363f019860984263c0f8f62b9d"><td class="mdescLeft"> </td><td class="mdescRight">Allocates a polygon mesh object using the Recast allocator. <a href="group__recast.html#ga1b6942363f019860984263c0f8f62b9d">More...</a><br /></td></tr>
|
|
<tr class="separator:ga1b6942363f019860984263c0f8f62b9d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga34925f90f2e5da1f84c383bfb0ff8e9f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f">rcFreePolyMesh</a> (<a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> *polyMesh)</td></tr>
|
|
<tr class="memdesc:ga34925f90f2e5da1f84c383bfb0ff8e9f"><td class="mdescLeft"> </td><td class="mdescRight">Frees the specified polygon mesh using the Recast allocator. <a href="group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f">More...</a><br /></td></tr>
|
|
<tr class="separator:ga34925f90f2e5da1f84c383bfb0ff8e9f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga617834c1759867250e21569c204f1410"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga617834c1759867250e21569c204f1410">rcAllocPolyMeshDetail</a> ()</td></tr>
|
|
<tr class="memdesc:ga617834c1759867250e21569c204f1410"><td class="mdescLeft"> </td><td class="mdescRight">Allocates a detail mesh object using the Recast allocator. <a href="group__recast.html#ga617834c1759867250e21569c204f1410">More...</a><br /></td></tr>
|
|
<tr class="separator:ga617834c1759867250e21569c204f1410"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga3efa77f1a8305250471c2ac09672d9ae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae">rcFreePolyMeshDetail</a> (<a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> *detailMesh)</td></tr>
|
|
<tr class="memdesc:ga3efa77f1a8305250471c2ac09672d9ae"><td class="mdescLeft"> </td><td class="mdescRight">Frees the specified detail mesh using the Recast allocator. <a href="group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae">More...</a><br /></td></tr>
|
|
<tr class="separator:ga3efa77f1a8305250471c2ac09672d9ae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader">Heightfield Functions</h2></td></tr>
|
|
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6785ee5ba32d31be2251a57829f9d278"></a></p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a> </dd></dl>
|
|
</td></tr>
|
|
<tr class="memitem:ga8d3d926002b6df3a5100a1f1e4086026"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026">rcCalcBounds</a> (const float *verts, int numVerts, float *minBounds, float *maxBounds)</td></tr>
|
|
<tr class="memdesc:ga8d3d926002b6df3a5100a1f1e4086026"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the bounding box of an array of vertices. <a href="group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026">More...</a><br /></td></tr>
|
|
<tr class="separator:ga8d3d926002b6df3a5100a1f1e4086026"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga89dd61f0c62938be9ae41aaf026794c2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2">rcCalcGridSize</a> (const float *minBounds, const float *maxBounds, float cellSize, int *sizeX, int *sizeZ)</td></tr>
|
|
<tr class="memdesc:ga89dd61f0c62938be9ae41aaf026794c2"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the grid size based on the bounding box and grid cell size. <a href="group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2">More...</a><br /></td></tr>
|
|
<tr class="separator:ga89dd61f0c62938be9ae41aaf026794c2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga47eca35f60dbd7ddc1cb18fdb2493833"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833">rcCreateHeightfield</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight)</td></tr>
|
|
<tr class="memdesc:ga47eca35f60dbd7ddc1cb18fdb2493833"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a new heightfield. <a href="group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833">More...</a><br /></td></tr>
|
|
<tr class="separator:ga47eca35f60dbd7ddc1cb18fdb2493833"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga63e7b847422bfd78acea724088da6561"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga63e7b847422bfd78acea724088da6561">rcMarkWalkableTriangles</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)</td></tr>
|
|
<tr class="memdesc:ga63e7b847422bfd78acea724088da6561"><td class="mdescLeft"> </td><td class="mdescRight">Sets the area id of all triangles with a slope below the specified value to <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>. <a href="group__recast.html#ga63e7b847422bfd78acea724088da6561">More...</a><br /></td></tr>
|
|
<tr class="separator:ga63e7b847422bfd78acea724088da6561"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad293e95cc9b22e4305ad2c6fbf946622"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622">rcClearUnwalkableTriangles</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)</td></tr>
|
|
<tr class="memdesc:gad293e95cc9b22e4305ad2c6fbf946622"><td class="mdescLeft"> </td><td class="mdescRight">Sets the area id of all triangles with a slope greater than or equal to the specified value to <a class="el" href="Recast_8h.html#a5105dbfb2d2bf8aa69122db502d0e39e" title="Represents the null area.">RC_NULL_AREA</a>. <a href="group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622">More...</a><br /></td></tr>
|
|
<tr class="separator:gad293e95cc9b22e4305ad2c6fbf946622"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga86f63cef2e174a1f4cb050767090beeb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga86f63cef2e174a1f4cb050767090beeb">rcAddSpan</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, int x, int z, unsigned short spanMin, unsigned short spanMax, unsigned char areaID, int flagMergeThreshold)</td></tr>
|
|
<tr class="memdesc:ga86f63cef2e174a1f4cb050767090beeb"><td class="mdescLeft"> </td><td class="mdescRight">Adds a span to the specified heightfield. <a href="group__recast.html#ga86f63cef2e174a1f4cb050767090beeb">More...</a><br /></td></tr>
|
|
<tr class="separator:ga86f63cef2e174a1f4cb050767090beeb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga23a98560fac96a1d2eb9f01c6617e927"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927">rcRasterizeTriangle</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *v0, const float *v1, const float *v2, unsigned char areaID, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, int flagMergeThreshold=1)</td></tr>
|
|
<tr class="memdesc:ga23a98560fac96a1d2eb9f01c6617e927"><td class="mdescLeft"> </td><td class="mdescRight">Rasterizes a single triangle into the specified heightfield. <a href="group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927">More...</a><br /></td></tr>
|
|
<tr class="separator:ga23a98560fac96a1d2eb9f01c6617e927"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadac24191b69876017ed01d85e0a44645"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gadac24191b69876017ed01d85e0a44645">rcRasterizeTriangles</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *verts, int numVerts, const int *tris, const unsigned char *triAreaIDs, int numTris, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, int flagMergeThreshold=1)</td></tr>
|
|
<tr class="memdesc:gadac24191b69876017ed01d85e0a44645"><td class="mdescLeft"> </td><td class="mdescRight">Rasterizes an indexed triangle mesh into the specified heightfield. <a href="group__recast.html#gadac24191b69876017ed01d85e0a44645">More...</a><br /></td></tr>
|
|
<tr class="separator:gadac24191b69876017ed01d85e0a44645"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga40ce03082b89fd8d890fa65d9b3d64d9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9">rcRasterizeTriangles</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *verts, int numVerts, const unsigned short *tris, const unsigned char *triAreaIDs, int numTris, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, int flagMergeThreshold=1)</td></tr>
|
|
<tr class="memdesc:ga40ce03082b89fd8d890fa65d9b3d64d9"><td class="mdescLeft"> </td><td class="mdescRight">Rasterizes an indexed triangle mesh into the specified heightfield. <a href="group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9">More...</a><br /></td></tr>
|
|
<tr class="separator:ga40ce03082b89fd8d890fa65d9b3d64d9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaebc5f38893ede7ee5d107a9ad2dbd369"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369">rcRasterizeTriangles</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *verts, const unsigned char *triAreaIDs, int numTris, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, int flagMergeThreshold=1)</td></tr>
|
|
<tr class="memdesc:gaebc5f38893ede7ee5d107a9ad2dbd369"><td class="mdescLeft"> </td><td class="mdescRight">Rasterizes a triangle list into the specified heightfield. <a href="group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369">More...</a><br /></td></tr>
|
|
<tr class="separator:gaebc5f38893ede7ee5d107a9ad2dbd369"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga009f5e462077cc2f6d1f5fff57f2e412"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412">rcFilterLowHangingWalkableObstacles</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, int walkableClimb, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield)</td></tr>
|
|
<tr class="memdesc:ga009f5e462077cc2f6d1f5fff57f2e412"><td class="mdescLeft"> </td><td class="mdescRight">Marks non-walkable spans as walkable if their maximum is within <code>walkableClimb</code> of a walkable neighbor. <a href="group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412">More...</a><br /></td></tr>
|
|
<tr class="separator:ga009f5e462077cc2f6d1f5fff57f2e412"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad40c996631bc70091d7355dc4c950655"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gad40c996631bc70091d7355dc4c950655">rcFilterLedgeSpans</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, int walkableHeight, int walkableClimb, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield)</td></tr>
|
|
<tr class="memdesc:gad40c996631bc70091d7355dc4c950655"><td class="mdescLeft"> </td><td class="mdescRight">Marks spans that are ledges as not-walkable. <a href="group__recast.html#gad40c996631bc70091d7355dc4c950655">More...</a><br /></td></tr>
|
|
<tr class="separator:gad40c996631bc70091d7355dc4c950655"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga0dbfbeebd642c1b79323ba7723d91a49"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49">rcFilterWalkableLowHeightSpans</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, int walkableHeight, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield)</td></tr>
|
|
<tr class="memdesc:ga0dbfbeebd642c1b79323ba7723d91a49"><td class="mdescLeft"> </td><td class="mdescRight">Marks walkable spans as not walkable if the clearance above the span is less than the specified height. <a href="group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49">More...</a><br /></td></tr>
|
|
<tr class="separator:ga0dbfbeebd642c1b79323ba7723d91a49"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gabade813042a8c79ddb2f4ecf84620cf8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8">rcGetHeightFieldSpanCount</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield)</td></tr>
|
|
<tr class="memdesc:gabade813042a8c79ddb2f4ecf84620cf8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of spans contained in the specified heightfield. <a href="group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8">More...</a><br /></td></tr>
|
|
<tr class="separator:gabade813042a8c79ddb2f4ecf84620cf8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader">Compact Heightfield Functions</h2></td></tr>
|
|
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp8c38b45d3c928cb95def7046c10143be"></a></p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a> </dd></dl>
|
|
</td></tr>
|
|
<tr class="memitem:gae8f77a45a6ca7fef19afcca7420b340d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d">rcBuildCompactHeightfield</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, int walkableHeight, int walkableClimb, <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:gae8f77a45a6ca7fef19afcca7420b340d"><td class="mdescLeft"> </td><td class="mdescRight">Builds a compact heightfield representing open space, from a heightfield representing solid space. <a href="group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d">More...</a><br /></td></tr>
|
|
<tr class="separator:gae8f77a45a6ca7fef19afcca7420b340d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga466672bb756c401fbf6dd1e99c920ebb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb">rcErodeWalkableArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, int radius, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf)</td></tr>
|
|
<tr class="memdesc:ga466672bb756c401fbf6dd1e99c920ebb"><td class="mdescLeft"> </td><td class="mdescRight">Erodes the walkable area within the heightfield by the specified radius. <a href="group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb">More...</a><br /></td></tr>
|
|
<tr class="separator:ga466672bb756c401fbf6dd1e99c920ebb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga793672ade7833e916dd3c0e7a5bd6cc5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5">rcMedianFilterWalkableArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf)</td></tr>
|
|
<tr class="memdesc:ga793672ade7833e916dd3c0e7a5bd6cc5"><td class="mdescLeft"> </td><td class="mdescRight">Applies a median filter to walkable area types (based on area id), removing noise. <a href="group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5">More...</a><br /></td></tr>
|
|
<tr class="separator:ga793672ade7833e916dd3c0e7a5bd6cc5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga527b4c24537e47bcc472f28965c7b7bf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf">rcMarkBoxArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const float *bmin, const float *bmax, unsigned char areaId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf)</td></tr>
|
|
<tr class="memdesc:ga527b4c24537e47bcc472f28965c7b7bf"><td class="mdescLeft"> </td><td class="mdescRight">Applies an area id to all spans within the specified bounding box. <a href="group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf">More...</a><br /></td></tr>
|
|
<tr class="separator:ga527b4c24537e47bcc472f28965c7b7bf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1e8f3c9c2cb664fb2874d01448a1f223"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223">rcMarkConvexPolyArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf)</td></tr>
|
|
<tr class="memdesc:ga1e8f3c9c2cb664fb2874d01448a1f223"><td class="mdescLeft"> </td><td class="mdescRight">Applies the area id to the all spans within the specified convex polygon. <a href="group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223">More...</a><br /></td></tr>
|
|
<tr class="separator:ga1e8f3c9c2cb664fb2874d01448a1f223"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad71d03bb37c1a16700d57c5f7dff4057"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057">rcOffsetPoly</a> (const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts)</td></tr>
|
|
<tr class="memdesc:gad71d03bb37c1a16700d57c5f7dff4057"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to offset voncex polygons for rcMarkConvexPolyArea. <a href="group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057">More...</a><br /></td></tr>
|
|
<tr class="separator:gad71d03bb37c1a16700d57c5f7dff4057"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gac2de1bc06b5804dd4304a90f39829948"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gac2de1bc06b5804dd4304a90f39829948">rcMarkCylinderArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const float *pos, const float r, const float h, unsigned char areaId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf)</td></tr>
|
|
<tr class="memdesc:gac2de1bc06b5804dd4304a90f39829948"><td class="mdescLeft"> </td><td class="mdescRight">Applies the area id to all spans within the specified cylinder. <a href="group__recast.html#gac2de1bc06b5804dd4304a90f39829948">More...</a><br /></td></tr>
|
|
<tr class="separator:gac2de1bc06b5804dd4304a90f39829948"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga255c830cc0d30fa0229a05033242e77d"><td class="memItemLeft" align="right" valign="top">bool </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> &chf)</td></tr>
|
|
<tr class="memdesc:ga255c830cc0d30fa0229a05033242e77d"><td class="mdescLeft"> </td><td class="mdescRight">Builds the distance field for the specified compact heightfield. <a href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d">More...</a><br /></td></tr>
|
|
<tr class="separator:ga255c830cc0d30fa0229a05033242e77d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaf89da5f503884e43f955639343333cea"><td class="memItemLeft" align="right" valign="top">bool </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> &chf, int borderSize, int minRegionArea, int mergeRegionArea)</td></tr>
|
|
<tr class="memdesc:gaf89da5f503884e43f955639343333cea"><td class="mdescLeft"> </td><td class="mdescRight">Builds region data for the heightfield using watershed partitioning. <a href="group__recast.html#gaf89da5f503884e43f955639343333cea">More...</a><br /></td></tr>
|
|
<tr class="separator:gaf89da5f503884e43f955639343333cea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga44a9272ded073492dd74b1a871d9d1a0"><td class="memItemLeft" align="right" valign="top">bool </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> &chf, int borderSize, int minRegionArea)</td></tr>
|
|
<tr class="memdesc:ga44a9272ded073492dd74b1a871d9d1a0"><td class="mdescLeft"> </td><td class="mdescRight">Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers. <a href="group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0">More...</a><br /></td></tr>
|
|
<tr class="separator:ga44a9272ded073492dd74b1a871d9d1a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gac750ac6caa254759ef0bccf8afc7f67f"><td class="memItemLeft" align="right" valign="top">bool </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> &chf, int borderSize, int minRegionArea, int mergeRegionArea)</td></tr>
|
|
<tr class="memdesc:gac750ac6caa254759ef0bccf8afc7f67f"><td class="mdescLeft"> </td><td class="mdescRight">Builds region data for the heightfield using simple monotone partitioning. <a href="group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f">More...</a><br /></td></tr>
|
|
<tr class="separator:gac750ac6caa254759ef0bccf8afc7f67f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8cdbebeeb64de5fc7b4b36281f165fc4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga8cdbebeeb64de5fc7b4b36281f165fc4">rcSetCon</a> (<a class="el" href="structrcCompactSpan.html">rcCompactSpan</a> &span, int direction, int neighborIndex)</td></tr>
|
|
<tr class="memdesc:ga8cdbebeeb64de5fc7b4b36281f165fc4"><td class="mdescLeft"> </td><td class="mdescRight">Sets the neighbor connection data for the specified direction. <a href="group__recast.html#ga8cdbebeeb64de5fc7b4b36281f165fc4">More...</a><br /></td></tr>
|
|
<tr class="separator:ga8cdbebeeb64de5fc7b4b36281f165fc4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad3ccc7652b12db58c8e58c976bb34b1b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gad3ccc7652b12db58c8e58c976bb34b1b">rcGetCon</a> (const <a class="el" href="structrcCompactSpan.html">rcCompactSpan</a> &span, int direction)</td></tr>
|
|
<tr class="memdesc:gad3ccc7652b12db58c8e58c976bb34b1b"><td class="mdescLeft"> </td><td class="mdescRight">Gets neighbor connection data for the specified direction. <a href="group__recast.html#gad3ccc7652b12db58c8e58c976bb34b1b">More...</a><br /></td></tr>
|
|
<tr class="separator:gad3ccc7652b12db58c8e58c976bb34b1b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7f308c34d7d5beb73eca24fe30033064"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga7f308c34d7d5beb73eca24fe30033064">rcGetDirOffsetX</a> (int direction)</td></tr>
|
|
<tr class="memdesc:ga7f308c34d7d5beb73eca24fe30033064"><td class="mdescLeft"> </td><td class="mdescRight">Gets the standard width (x-axis) offset for the specified direction. <a href="group__recast.html#ga7f308c34d7d5beb73eca24fe30033064">More...</a><br /></td></tr>
|
|
<tr class="separator:ga7f308c34d7d5beb73eca24fe30033064"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7d225822d057252755aeeebdc2388cf2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga7d225822d057252755aeeebdc2388cf2">rcGetDirOffsetY</a> (int direction)</td></tr>
|
|
<tr class="memdesc:ga7d225822d057252755aeeebdc2388cf2"><td class="mdescLeft"> </td><td class="mdescRight">Gets the standard height (z-axis) offset for the specified direction. <a href="group__recast.html#ga7d225822d057252755aeeebdc2388cf2">More...</a><br /></td></tr>
|
|
<tr class="separator:ga7d225822d057252755aeeebdc2388cf2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaf7827d43d6b3e24ab5aba552343bce26"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gaf7827d43d6b3e24ab5aba552343bce26">rcGetDirForOffset</a> (int offsetX, int offsetZ)</td></tr>
|
|
<tr class="memdesc:gaf7827d43d6b3e24ab5aba552343bce26"><td class="mdescLeft"> </td><td class="mdescRight">Gets the direction for the specified offset. <a href="group__recast.html#gaf7827d43d6b3e24ab5aba552343bce26">More...</a><br /></td></tr>
|
|
<tr class="separator:gaf7827d43d6b3e24ab5aba552343bce26"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader">Layer, Contour, Polymesh, and Detail Mesh Functions</h2></td></tr>
|
|
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp4c69fe8f03e89eb12c01fb9be2151b6d"></a></p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfieldLayer.html" title="Represents a heightfield layer within a layer set.">rcHeightfieldLayer</a>, <a class="el" href="structrcContourSet.html" title="Represents a group of related contours.">rcContourSet</a>, <a class="el" href="structrcPolyMesh.html" title="Represents a polygon mesh suitable for use in building a navigation mesh.">rcPolyMesh</a>, <a class="el" href="structrcPolyMeshDetail.html" title="Contains triangle meshes that represent detailed height data associated with the polygons in its asso...">rcPolyMeshDetail</a> </dd></dl>
|
|
</td></tr>
|
|
<tr class="memitem:ga21dd089dcfc243ed949a28727dc41010"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga21dd089dcfc243ed949a28727dc41010">rcBuildHeightfieldLayers</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf, int borderSize, int walkableHeight, <a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a> &lset)</td></tr>
|
|
<tr class="memdesc:ga21dd089dcfc243ed949a28727dc41010"><td class="mdescLeft"> </td><td class="mdescRight">Builds a layer set from the specified compact heightfield. <a href="group__recast.html#ga21dd089dcfc243ed949a28727dc41010">More...</a><br /></td></tr>
|
|
<tr class="separator:ga21dd089dcfc243ed949a28727dc41010"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9ce76e55cf94a30c017fe3b039e1cbb2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2">rcBuildContours</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf, float maxError, int maxEdgeLen, <a class="el" href="structrcContourSet.html">rcContourSet</a> &cset, int buildFlags=<a class="el" href="Recast_8h.html#a63345b5052e97366027aa92b54c7786fa895b8adb44c79179f5e22f8f65abe5ed">RC_CONTOUR_TESS_WALL_EDGES</a>)</td></tr>
|
|
<tr class="memdesc:ga9ce76e55cf94a30c017fe3b039e1cbb2"><td class="mdescLeft"> </td><td class="mdescRight">Builds a contour set from the region outlines in the provided compact heightfield. <a href="group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2">More...</a><br /></td></tr>
|
|
<tr class="separator:ga9ce76e55cf94a30c017fe3b039e1cbb2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6ccf68fa67b52296071764bddf19dd9f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f">rcBuildPolyMesh</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcContourSet.html">rcContourSet</a> &cset, const int nvp, <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> &mesh)</td></tr>
|
|
<tr class="memdesc:ga6ccf68fa67b52296071764bddf19dd9f"><td class="mdescLeft"> </td><td class="mdescRight">Builds a polygon mesh from the provided contours. <a href="group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f">More...</a><br /></td></tr>
|
|
<tr class="separator:ga6ccf68fa67b52296071764bddf19dd9f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa28c3eb627ca7d96015c7978ff0eb8f7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7">rcMergePolyMeshes</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> **meshes, const int nmeshes, <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> &mesh)</td></tr>
|
|
<tr class="memdesc:gaa28c3eb627ca7d96015c7978ff0eb8f7"><td class="mdescLeft"> </td><td class="mdescRight">Merges multiple polygon meshes into a single mesh. <a href="group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7">More...</a><br /></td></tr>
|
|
<tr class="separator:gaa28c3eb627ca7d96015c7978ff0eb8f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga27bbc4ef9f8c09b68ec63ebe908521a2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2">rcBuildPolyMeshDetail</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> &mesh, const <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &chf, float sampleDist, float sampleMaxError, <a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> &dmesh)</td></tr>
|
|
<tr class="memdesc:ga27bbc4ef9f8c09b68ec63ebe908521a2"><td class="mdescLeft"> </td><td class="mdescRight">Builds a detail mesh from the provided polygon mesh. <a href="group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2">More...</a><br /></td></tr>
|
|
<tr class="separator:ga27bbc4ef9f8c09b68ec63ebe908521a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadd16ae360ef930c3ba8c4839e3065d40"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40">rcCopyPolyMesh</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> &src, <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> &dst)</td></tr>
|
|
<tr class="memdesc:gadd16ae360ef930c3ba8c4839e3065d40"><td class="mdescLeft"> </td><td class="mdescRight">Copies the poly mesh data from src to dst. <a href="group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40">More...</a><br /></td></tr>
|
|
<tr class="separator:gadd16ae360ef930c3ba8c4839e3065d40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6ef022fcf6dabdb0437b979304c0defe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe">rcMergePolyMeshDetails</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, <a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> **meshes, const int nmeshes, <a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> &mesh)</td></tr>
|
|
<tr class="memdesc:ga6ef022fcf6dabdb0437b979304c0defe"><td class="mdescLeft"> </td><td class="mdescRight">Merges multiple detail meshes into a single detail mesh. <a href="group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe">More...</a><br /></td></tr>
|
|
<tr class="separator:ga6ef022fcf6dabdb0437b979304c0defe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
<p>Members in this module are used to create mesh data that is then used to create Detour navigation meshes. </p>
|
|
<p>The are a large number of possible ways to building navigation mesh data. One of the simple piplines is as follows:</p>
|
|
<ol type="1">
|
|
<li>Prepare the input triangle mesh.</li>
|
|
<li>Build a <a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>.</li>
|
|
<li>Build a <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>.</li>
|
|
<li>Build a <a class="el" href="structrcContourSet.html" title="Represents a group of related contours.">rcContourSet</a>.</li>
|
|
<li>Build a <a class="el" href="structrcPolyMesh.html" title="Represents a polygon mesh suitable for use in building a navigation mesh.">rcPolyMesh</a>.</li>
|
|
<li>Build a <a class="el" href="structrcPolyMeshDetail.html" title="Contains triangle meshes that represent detailed height data associated with the polygons in its asso...">rcPolyMeshDetail</a>.</li>
|
|
<li>Use the <a class="el" href="structrcPolyMesh.html" title="Represents a polygon mesh suitable for use in building a navigation mesh.">rcPolyMesh</a> and <a class="el" href="structrcPolyMeshDetail.html" title="Contains triangle meshes that represent detailed height data associated with the polygons in its asso...">rcPolyMeshDetail</a> to build a Detour navigation mesh tile.</li>
|
|
</ol>
|
|
<p>The general life-cycle of the main classes is as follows:</p>
|
|
<ol type="1">
|
|
<li>Allocate the object using the Recast allocator. (E.g. <a class="el" href="group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9" title="Allocates a heightfield object using the Recast allocator.">rcAllocHeightfield</a>)</li>
|
|
<li>Initialize or build the object. (E.g. <a class="el" href="group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833" title="Initializes a new heightfield.">rcCreateHeightfield</a>)</li>
|
|
<li>Update the object as needed. (E.g. <a class="el" href="group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369" title="Rasterizes a triangle list into the specified heightfield.">rcRasterizeTriangles</a>)</li>
|
|
<li>Use the object as part of the pipeline.</li>
|
|
<li>Free the object using the Recast allocator. (E.g. <a class="el" href="group__recast.html#ga63549624426821904ecf1a92ddcccaea" title="Frees the specified heightfield object using the Recast allocator.">rcFreeHeightField</a>) </li>
|
|
</ol>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a id="ga86f63cef2e174a1f4cb050767090beeb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga86f63cef2e174a1f4cb050767090beeb">◆ </a></span>rcAddSpan()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcAddSpan </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>x</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>z</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned short </td>
|
|
<td class="paramname"><em>spanMin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned short </td>
|
|
<td class="paramname"><em>spanMax</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char </td>
|
|
<td class="paramname"><em>areaID</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>flagMergeThreshold</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a span to the specified heightfield. </p>
|
|
<p>The span addition can be set to favor flags. If the span is merged to another span and the new <code>spanMax</code> is within <code>flagMergeThreshold</code> units from the existing span, the span flags are merged.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>An initialized heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The column x index where the span is to be added. [Limits: 0 <= value < <a class="el" href="structrcHeightfield.html#a9dd6e386c167f1537e3c7638f6b9a752" title="The width of the heightfield. (Along the x-axis in cell units.)">rcHeightfield::width</a>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>The column z index where the span is to be added. [Limits: 0 <= value < <a class="el" href="structrcHeightfield.html#a568ceeea7acb4ddf67dd78ec4fee7672" title="The height of the heightfield. (Along the z-axis in cell units.)">rcHeightfield::height</a>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">spanMin</td><td>The minimum height of the span. [Limit: < <code>spanMax</code>] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">spanMax</td><td>The maximum height of the span. [Limit: <= <a class="el" href="Recast_8h.html#a29fe08410353b3b0dfdf777303750b43" title="Defines the maximum value for rcSpan::smin and rcSpan::smax.">RC_SPAN_MAX_HEIGHT</a>] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">areaID</td><td>The area id of the span. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>) </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">flagMergeThreshold</td><td>The merge threshold. [Limit: >= 0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga63ec2ca68dc897018b8b013507b9714d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga63ec2ca68dc897018b8b013507b9714d">◆ </a></span>rcAllocCompactHeightfield()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a>* rcAllocCompactHeightfield </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocates a compact heightfield object using the Recast allocator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A compact heightfield that is ready for initialization, or null on failure.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d" title="Builds a compact heightfield representing open space, from a heightfield representing solid space.">rcBuildCompactHeightfield</a>, <a class="el" href="group__recast.html#ga914ed7cee333a9c29513d917f6bb4716" title="Frees the specified compact heightfield object using the Recast allocator.">rcFreeCompactHeightfield</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga2b1a22ec58d51570e352c19cb2cb22a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga2b1a22ec58d51570e352c19cb2cb22a2">◆ </a></span>rcAllocContourSet()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structrcContourSet.html">rcContourSet</a>* rcAllocContourSet </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocates a contour set object using the Recast allocator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A contour set that is ready for initialization, or null on failure.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2" title="Builds a contour set from the region outlines in the provided compact heightfield.">rcBuildContours</a>, <a class="el" href="group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96" title="Frees the specified contour set using the Recast allocator.">rcFreeContourSet</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga3e717cb2fa2ef5d123f0fa218f0630a9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga3e717cb2fa2ef5d123f0fa218f0630a9">◆ </a></span>rcAllocHeightfield()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structrcHeightfield.html">rcHeightfield</a>* rcAllocHeightfield </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocates a heightfield object using the Recast allocator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A heightfield that is ready for initialization, or null on failure.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833" title="Initializes a new heightfield.">rcCreateHeightfield</a>, <a class="el" href="group__recast.html#ga63549624426821904ecf1a92ddcccaea" title="Frees the specified heightfield object using the Recast allocator.">rcFreeHeightField</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gadc45406abb9ac9d1efddee04054207f5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gadc45406abb9ac9d1efddee04054207f5">◆ </a></span>rcAllocHeightfieldLayerSet()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a>* rcAllocHeightfieldLayerSet </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocates a heightfield layer set using the Recast allocator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A heightfield layer set that is ready for initialization, or null on failure.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga21dd089dcfc243ed949a28727dc41010" title="Builds a layer set from the specified compact heightfield.">rcBuildHeightfieldLayers</a>, <a class="el" href="group__recast.html#ga657ea6ef521e4caadc4467bd61e26016" title="Frees the specified heightfield layer set using the Recast allocator.">rcFreeHeightfieldLayerSet</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga1b6942363f019860984263c0f8f62b9d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga1b6942363f019860984263c0f8f62b9d">◆ </a></span>rcAllocPolyMesh()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a>* rcAllocPolyMesh </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocates a polygon mesh object using the Recast allocator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A polygon mesh that is ready for initialization, or null on failure.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f" title="Builds a polygon mesh from the provided contours.">rcBuildPolyMesh</a>, <a class="el" href="group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f" title="Frees the specified polygon mesh using the Recast allocator.">rcFreePolyMesh</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga617834c1759867250e21569c204f1410"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga617834c1759867250e21569c204f1410">◆ </a></span>rcAllocPolyMeshDetail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a>* rcAllocPolyMeshDetail </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocates a detail mesh object using the Recast allocator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A detail mesh that is ready for initialization, or null on failure.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2" title="Builds a detail mesh from the provided polygon mesh.">rcBuildPolyMeshDetail</a>, <a class="el" href="group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae" title="Frees the specified detail mesh using the Recast allocator.">rcFreePolyMeshDetail</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gae8f77a45a6ca7fef19afcca7420b340d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae8f77a45a6ca7fef19afcca7420b340d">◆ </a></span>rcBuildCompactHeightfield()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildCompactHeightfield </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>walkableHeight</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>walkableClimb</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>compactHeightfield</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds a compact heightfield representing open space, from a heightfield representing solid space. </p>
|
|
<p>This is just the beginning of the process of fully building a compact heightfield. Various filters may be applied, then the distance field and regions built. E.g: <a class="el" href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d" title="Builds the distance field for the specified compact heightfield.">rcBuildDistanceField</a> and <a class="el" href="group__recast.html#gaf89da5f503884e43f955639343333cea" title="Builds region data for the heightfield using watershed partitioning.">rcBuildRegions</a></p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga63ec2ca68dc897018b8b013507b9714d" title="Allocates a compact heightfield object using the Recast allocator.">rcAllocCompactHeightfield</a>, <a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>, <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableHeight</td><td>Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableClimb</td><td>Maximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">heightfield</td><td>The heightfield to be compacted. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">compactHeightfield</td><td>The resulting compact heightfield. (Must be pre-allocated.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga9ce76e55cf94a30c017fe3b039e1cbb2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga9ce76e55cf94a30c017fe3b039e1cbb2">◆ </a></span>rcBuildContours()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildContours </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>maxError</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>maxEdgeLen</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcContourSet.html">rcContourSet</a> & </td>
|
|
<td class="paramname"><em>cset</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>buildFlags</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds a contour set from the region outlines in the provided compact heightfield. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">chf</td><td>A fully built compact heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxError</td><td>The maximum distance a simplified contour's border edges should deviate the original raw contour. [Limit: >=0] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxEdgeLen</td><td>The maximum allowed length for contour edges along the border of the mesh. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">cset</td><td>The resulting contour set. (Must be pre-allocated.) </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">buildFlags</td><td>The build flags. (See: <a class="el" href="Recast_8h.html#a63345b5052e97366027aa92b54c7786f" title="Contour build flags.">rcBuildContoursFlags</a>) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The raw contours will match the region outlines exactly. The <code>maxError</code> and <code>maxEdgeLen</code> parameters control how closely the simplified contours will match the raw contours.</p>
|
|
<p>Simplified contours are generated such that the vertices for portals between areas match up. (They are considered mandatory vertices.)</p>
|
|
<p>Setting <code>maxEdgeLength</code> to zero will disabled the edge length feature.</p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2" title="Allocates a contour set object using the Recast allocator.">rcAllocContourSet</a>, <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcContourSet.html" title="Represents a group of related contours.">rcContourSet</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga255c830cc0d30fa0229a05033242e77d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga255c830cc0d30fa0229a05033242e77d">◆ </a></span>rcBuildDistanceField()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildDistanceField </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds the distance field for the specified compact heightfield. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>This is usually the second to the last step in creating a fully built compact heightfield. This step is required before regions are built using <a class="el" href="group__recast.html#gaf89da5f503884e43f955639343333cea" title="Builds region data for the heightfield using watershed partitioning.">rcBuildRegions</a> or <a class="el" href="group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f" title="Builds region data for the heightfield using simple monotone partitioning.">rcBuildRegionsMonotone</a>.</p>
|
|
<p>After this step, the distance data is available via the <a class="el" href="structrcCompactHeightfield.html#a38921b347d72bdc07487d07e7608ffc7" title="The maximum distance value of any span within the field.">rcCompactHeightfield::maxDistance</a> and <a class="el" href="structrcCompactHeightfield.html#af345442d6b49e71a2191c5e2dac3ca97" title="Array containing border distance data. [Size: spanCount].">rcCompactHeightfield::dist</a> fields.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="group__recast.html#gaf89da5f503884e43f955639343333cea" title="Builds region data for the heightfield using watershed partitioning.">rcBuildRegions</a>, <a class="el" href="group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f" title="Builds region data for the heightfield using simple monotone partitioning.">rcBuildRegionsMonotone</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga21dd089dcfc243ed949a28727dc41010"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga21dd089dcfc243ed949a28727dc41010">◆ </a></span>rcBuildHeightfieldLayers()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildHeightfieldLayers </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>borderSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>walkableHeight</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a> & </td>
|
|
<td class="paramname"><em>lset</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds a layer set from the specified compact heightfield. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">chf</td><td>A fully built compact heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">borderSize</td><td>The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableHeight</td><td>Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">lset</td><td>The resulting layer set. (Must be pre-allocated.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#gadc45406abb9ac9d1efddee04054207f5" title="Allocates a heightfield layer set using the Recast allocator.">rcAllocHeightfieldLayerSet</a>, <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcHeightfieldLayerSet.html" title="Represents a set of heightfield layers.">rcHeightfieldLayerSet</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga44a9272ded073492dd74b1a871d9d1a0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga44a9272ded073492dd74b1a871d9d1a0">◆ </a></span>rcBuildLayerRegions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildLayerRegions </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>borderSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>minRegionArea</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">borderSize</td><td>The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">minRegionArea</td><td>The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx]. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga6ccf68fa67b52296071764bddf19dd9f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga6ccf68fa67b52296071764bddf19dd9f">◆ </a></span>rcBuildPolyMesh()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildPolyMesh </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcContourSet.html">rcContourSet</a> & </td>
|
|
<td class="paramname"><em>cset</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>nvp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> & </td>
|
|
<td class="paramname"><em>mesh</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds a polygon mesh from the provided contours. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">cset</td><td>A fully built contour set. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nvp</td><td>The maximum number of vertices allowed for polygons generated during the contour to polygon conversion process. [Limit: >= 3] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">mesh</td><td>The resulting polygon mesh. (Must be re-allocated.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd>If the mesh data is to be used to construct a Detour navigation mesh, then the upper limit must be retricted to <= <a class="el" href="group__detour.html#ga8591fdac662dbfabb580de626c64c9f3" title="The maximum number of vertices per navigation polygon.">DT_VERTS_PER_POLYGON</a>.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga1b6942363f019860984263c0f8f62b9d" title="Allocates a polygon mesh object using the Recast allocator.">rcAllocPolyMesh</a>, <a class="el" href="structrcContourSet.html" title="Represents a group of related contours.">rcContourSet</a>, <a class="el" href="structrcPolyMesh.html" title="Represents a polygon mesh suitable for use in building a navigation mesh.">rcPolyMesh</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga27bbc4ef9f8c09b68ec63ebe908521a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga27bbc4ef9f8c09b68ec63ebe908521a2">◆ </a></span>rcBuildPolyMeshDetail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildPolyMeshDetail </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> & </td>
|
|
<td class="paramname"><em>mesh</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>sampleDist</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>sampleMaxError</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> & </td>
|
|
<td class="paramname"><em>dmesh</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds a detail mesh from the provided polygon mesh. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">mesh</td><td>A fully built polygon mesh. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">chf</td><td>The compact heightfield used to build the polygon mesh. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">sampleDist</td><td>Sets the distance to use when sampling the heightfield. [Limit: >=0] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">sampleMaxError</td><td>The maximum distance the detail mesh surface should deviate from heightfield data. [Limit: >=0] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">dmesh</td><td>The resulting detail mesh. (Must be pre-allocated.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga617834c1759867250e21569c204f1410" title="Allocates a detail mesh object using the Recast allocator.">rcAllocPolyMeshDetail</a>, <a class="el" href="structrcPolyMesh.html" title="Represents a polygon mesh suitable for use in building a navigation mesh.">rcPolyMesh</a>, <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcPolyMeshDetail.html" title="Contains triangle meshes that represent detailed height data associated with the polygons in its asso...">rcPolyMeshDetail</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gaf89da5f503884e43f955639343333cea"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaf89da5f503884e43f955639343333cea">◆ </a></span>rcBuildRegions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildRegions </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>borderSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>minRegionArea</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>mergeRegionArea</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds region data for the heightfield using watershed partitioning. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">borderSize</td><td>The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">minRegionArea</td><td>The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx]. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">mergeRegionArea</td><td>Any regions with a span count smaller than this value will, if possible, be merged with larger regions. [Limit: >=0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>Non-null regions will consist of connected, non-overlapping walkable spans that form a single contour. Contours will form simple polygons.</p>
|
|
<p>If multiple regions form an area that is smaller than <code>minRegionArea</code>, then all spans will be re-assigned to the zero (null) region.</p>
|
|
<p>Watershed partitioning can result in smaller than necessary regions, especially in diagonal corridors. <code>mergeRegionArea</code> helps reduce unecessarily small regions.</p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<p>The region data will be available via the <a class="el" href="structrcCompactHeightfield.html#a6bfb7a2fdb06a64b03f0fffa885edd94" title="The maximum region id of any span within the field.">rcCompactHeightfield::maxRegions</a> and <a class="el" href="structrcCompactSpan.html#aca1a16c8453c9533120c094979601d77" title="The id of the region the span belongs to. (Or zero if not in a region.)">rcCompactSpan::reg</a> fields.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>The distance field must be created using <a class="el" href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d" title="Builds the distance field for the specified compact heightfield.">rcBuildDistanceField</a> before attempting to build regions.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcCompactSpan.html" title="Represents a span of unobstructed space within a compact heightfield.">rcCompactSpan</a>, <a class="el" href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d" title="Builds the distance field for the specified compact heightfield.">rcBuildDistanceField</a>, <a class="el" href="group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f" title="Builds region data for the heightfield using simple monotone partitioning.">rcBuildRegionsMonotone</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gac750ac6caa254759ef0bccf8afc7f67f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gac750ac6caa254759ef0bccf8afc7f67f">◆ </a></span>rcBuildRegionsMonotone()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcBuildRegionsMonotone </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>borderSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>minRegionArea</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>mergeRegionArea</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Builds region data for the heightfield using simple monotone partitioning. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">borderSize</td><td>The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">minRegionArea</td><td>The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx]. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">mergeRegionArea</td><td>Any regions with a span count smaller than this value will, if possible, be merged with larger regions. [Limit: >=0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>Non-null regions will consist of connected, non-overlapping walkable spans that form a single contour. Contours will form simple polygons.</p>
|
|
<p>If multiple regions form an area that is smaller than <code>minRegionArea</code>, then all spans will be re-assigned to the zero (null) region.</p>
|
|
<p>Partitioning can result in smaller than necessary regions. <code>mergeRegionArea</code> helps reduce unecessarily small regions.</p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<p>The region data will be available via the <a class="el" href="structrcCompactHeightfield.html#a6bfb7a2fdb06a64b03f0fffa885edd94" title="The maximum region id of any span within the field.">rcCompactHeightfield::maxRegions</a> and <a class="el" href="structrcCompactSpan.html#aca1a16c8453c9533120c094979601d77" title="The id of the region the span belongs to. (Or zero if not in a region.)">rcCompactSpan::reg</a> fields.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>The distance field must be created using <a class="el" href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d" title="Builds the distance field for the specified compact heightfield.">rcBuildDistanceField</a> before attempting to build regions.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcCompactSpan.html" title="Represents a span of unobstructed space within a compact heightfield.">rcCompactSpan</a>, <a class="el" href="group__recast.html#ga255c830cc0d30fa0229a05033242e77d" title="Builds the distance field for the specified compact heightfield.">rcBuildDistanceField</a>, <a class="el" href="group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f" title="Builds region data for the heightfield using simple monotone partitioning.">rcBuildRegionsMonotone</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga8d3d926002b6df3a5100a1f1e4086026"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga8d3d926002b6df3a5100a1f1e4086026">◆ </a></span>rcCalcBounds()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcCalcBounds </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numVerts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"><em>minBounds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"><em>maxBounds</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calculates the bounding box of an array of vertices. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>An array of vertices. [(x, y, z) * <code>nv</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</td><td>The number of vertices in the <code>verts</code> array. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">minBounds</td><td>The minimum bounds of the AABB. [(x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">maxBounds</td><td>The maximum bounds of the AABB. [(x, y, z)] [Units: wu] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga89dd61f0c62938be9ae41aaf026794c2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga89dd61f0c62938be9ae41aaf026794c2">◆ </a></span>rcCalcGridSize()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcCalcGridSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>minBounds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>maxBounds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>cellSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"><em>sizeX</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"><em>sizeZ</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calculates the grid size based on the bounding box and grid cell size. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">minBounds</td><td>The minimum bounds of the AABB. [(x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxBounds</td><td>The maximum bounds of the AABB. [(x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">cellSize</td><td>The xz-plane cell size. [Limit: > 0] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">sizeX</td><td>The width along the x-axis. [Limit: >= 0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">sizeZ</td><td>The height along the z-axis. [Limit: >= 0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gad293e95cc9b22e4305ad2c6fbf946622"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad293e95cc9b22e4305ad2c6fbf946622">◆ </a></span>rcClearUnwalkableTriangles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcClearUnwalkableTriangles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>walkableSlopeAngle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numVerts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int * </td>
|
|
<td class="paramname"><em>tris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numTris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char * </td>
|
|
<td class="paramname"><em>triAreaIDs</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the area id of all triangles with a slope greater than or equal to the specified value to <a class="el" href="Recast_8h.html#a5105dbfb2d2bf8aa69122db502d0e39e" title="Represents the null area.">RC_NULL_AREA</a>. </p>
|
|
<p>Only sets the area id's for the un-walkable triangles. Does not alter the area id's for walkable triangles.</p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>, <a class="el" href="group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622" title="Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NUL...">rcClearUnwalkableTriangles</a>, <a class="el" href="group__recast.html#gadac24191b69876017ed01d85e0a44645" title="Rasterizes an indexed triangle mesh into the specified heightfield.">rcRasterizeTriangles</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableSlopeAngle</td><td>The maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The vertices. [(x, y, z) * <code>nv</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</td><td>The number of vertices. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tris</td><td>The triangle vertex indices. [(vertA, vertB, vertC) * <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numTris</td><td>The number of triangles. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">triAreaIDs</td><td>The triangle area ids. [Length: >= <code>nt</code>] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gadd16ae360ef930c3ba8c4839e3065d40"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gadd16ae360ef930c3ba8c4839e3065d40">◆ </a></span>rcCopyPolyMesh()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcCopyPolyMesh </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> & </td>
|
|
<td class="paramname"><em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> & </td>
|
|
<td class="paramname"><em>dst</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Copies the poly mesh data from src to dst. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>The source mesh to copy from. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>The resulting detail mesh. (Must be pre-allocated, must be empty mesh.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga47eca35f60dbd7ddc1cb18fdb2493833"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga47eca35f60dbd7ddc1cb18fdb2493833">◆ </a></span>rcCreateHeightfield()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcCreateHeightfield </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>sizeX</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>sizeZ</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>minBounds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>maxBounds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>cellSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>cellHeight</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Initializes a new heightfield. </p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9" title="Allocates a heightfield object using the Recast allocator.">rcAllocHeightfield</a>, <a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>The allocated heightfield to initialize. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">sizeX</td><td>The width of the field along the x-axis. [Limit: >= 0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">sizeZ</td><td>The height of the field along the z-axis. [Limit: >= 0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">minBounds</td><td>The minimum bounds of the field's AABB. [(x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxBounds</td><td>The maximum bounds of the field's AABB. [(x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">cellSize</td><td>The xz-plane cell size to use for the field. [Limit: > 0] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">cellHeight</td><td>The y-axis cell size to use for field. [Limit: > 0] [Units: wu] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga466672bb756c401fbf6dd1e99c920ebb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga466672bb756c401fbf6dd1e99c920ebb">◆ </a></span>rcErodeWalkableArea()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcErodeWalkableArea </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>radius</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Erodes the walkable area within the heightfield by the specified radius. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">radius</td><td>The radius of erosion. [Limits: 0 < value < 255] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>The populated compact heightfield to erode. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>Basically, any spans that are closer to a boundary or obstruction than the specified radius are marked as unwalkable.</p>
|
|
<p>This method is usually called immediately after the heightfield has been built.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d" title="Builds a compact heightfield representing open space, from a heightfield representing solid space.">rcBuildCompactHeightfield</a>, <a class="el" href="structrcConfig.html#a57a961a919d76559d6124d60ddf73864" title="The distance to erode/shrink the walkable area of the heightfield away from obstructions.">rcConfig::walkableRadius</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gad40c996631bc70091d7355dc4c950655"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad40c996631bc70091d7355dc4c950655">◆ </a></span>rcFilterLedgeSpans()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFilterLedgeSpans </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>walkableHeight</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>walkableClimb</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Marks spans that are ledges as not-walkable. </p>
|
|
<p>A ledge is a span with one or more neighbors whose maximum is further away than <code>walkableClimb</code> from the current span's maximum. This method removes the impact of the overestimation of conservative voxelization so the resulting mesh will not have regions hanging in the air over ledges.</p>
|
|
<p>A span is a ledge if: <code>rcAbs(currentSpan.smax - neighborSpan.smax) > walkableClimb</code></p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableHeight</td><td>Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableClimb</td><td>Maximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>A fully built heightfield. (All spans have been added.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga009f5e462077cc2f6d1f5fff57f2e412"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga009f5e462077cc2f6d1f5fff57f2e412">◆ </a></span>rcFilterLowHangingWalkableObstacles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFilterLowHangingWalkableObstacles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>walkableClimb</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Marks non-walkable spans as walkable if their maximum is within <code>walkableClimb</code> of a walkable neighbor. </p>
|
|
<p>Allows the formation of walkable regions that will flow over low lying objects such as curbs, and up structures such as stairways.</p>
|
|
<p>Two neighboring spans are walkable if: <code>rcAbs(currentSpan.smax - neighborSpan.smax) < waklableClimb</code></p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Will override the effect of <a class="el" href="group__recast.html#gad40c996631bc70091d7355dc4c950655" title="Marks spans that are ledges as not-walkable.">rcFilterLedgeSpans</a>. So if both filters are used, call <a class="el" href="group__recast.html#gad40c996631bc70091d7355dc4c950655" title="Marks spans that are ledges as not-walkable.">rcFilterLedgeSpans</a> after calling this filter.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableClimb</td><td>Maximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>A fully built heightfield. (All spans have been added.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga0dbfbeebd642c1b79323ba7723d91a49"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga0dbfbeebd642c1b79323ba7723d91a49">◆ </a></span>rcFilterWalkableLowHeightSpans()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFilterWalkableLowHeightSpans </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>walkableHeight</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Marks walkable spans as not walkable if the clearance above the span is less than the specified height. </p>
|
|
<p>For this filter, the clearance above the span is the distance from the span's maximum to the next higher span's minimum. (Same grid column.)</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>, <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableHeight</td><td>Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>A fully built heightfield. (All spans have been added.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga914ed7cee333a9c29513d917f6bb4716"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga914ed7cee333a9c29513d917f6bb4716">◆ </a></span>rcFreeCompactHeightfield()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFreeCompactHeightfield </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> * </td>
|
|
<td class="paramname"><em>compactHeightfield</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees the specified compact heightfield object using the Recast allocator. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">compactHeightfield</td><td>A compact heightfield allocated using <a class="el" href="group__recast.html#ga63ec2ca68dc897018b8b013507b9714d" title="Allocates a compact heightfield object using the Recast allocator.">rcAllocCompactHeightfield</a></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga63ec2ca68dc897018b8b013507b9714d" title="Allocates a compact heightfield object using the Recast allocator.">rcAllocCompactHeightfield</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gae3a9621529cb8d471a95161bd7d0ca96"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae3a9621529cb8d471a95161bd7d0ca96">◆ </a></span>rcFreeContourSet()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFreeContourSet </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcContourSet.html">rcContourSet</a> * </td>
|
|
<td class="paramname"><em>contourSet</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees the specified contour set using the Recast allocator. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">contourSet</td><td>A contour set allocated using <a class="el" href="group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2" title="Allocates a contour set object using the Recast allocator.">rcAllocContourSet</a></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2" title="Allocates a contour set object using the Recast allocator.">rcAllocContourSet</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga63549624426821904ecf1a92ddcccaea"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga63549624426821904ecf1a92ddcccaea">◆ </a></span>rcFreeHeightField()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFreeHeightField </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> * </td>
|
|
<td class="paramname"><em>heightfield</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees the specified heightfield object using the Recast allocator. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">heightfield</td><td>A heightfield allocated using <a class="el" href="group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9" title="Allocates a heightfield object using the Recast allocator.">rcAllocHeightfield</a></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9" title="Allocates a heightfield object using the Recast allocator.">rcAllocHeightfield</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga657ea6ef521e4caadc4467bd61e26016"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga657ea6ef521e4caadc4467bd61e26016">◆ </a></span>rcFreeHeightfieldLayerSet()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFreeHeightfieldLayerSet </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfieldLayerSet.html">rcHeightfieldLayerSet</a> * </td>
|
|
<td class="paramname"><em>layerSet</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees the specified heightfield layer set using the Recast allocator. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">layerSet</td><td>A heightfield layer set allocated using <a class="el" href="group__recast.html#gadc45406abb9ac9d1efddee04054207f5" title="Allocates a heightfield layer set using the Recast allocator.">rcAllocHeightfieldLayerSet</a></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#gadc45406abb9ac9d1efddee04054207f5" title="Allocates a heightfield layer set using the Recast allocator.">rcAllocHeightfieldLayerSet</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga34925f90f2e5da1f84c383bfb0ff8e9f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga34925f90f2e5da1f84c383bfb0ff8e9f">◆ </a></span>rcFreePolyMesh()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFreePolyMesh </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> * </td>
|
|
<td class="paramname"><em>polyMesh</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees the specified polygon mesh using the Recast allocator. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">polyMesh</td><td>A polygon mesh allocated using <a class="el" href="group__recast.html#ga1b6942363f019860984263c0f8f62b9d" title="Allocates a polygon mesh object using the Recast allocator.">rcAllocPolyMesh</a></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga1b6942363f019860984263c0f8f62b9d" title="Allocates a polygon mesh object using the Recast allocator.">rcAllocPolyMesh</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga3efa77f1a8305250471c2ac09672d9ae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga3efa77f1a8305250471c2ac09672d9ae">◆ </a></span>rcFreePolyMeshDetail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcFreePolyMeshDetail </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> * </td>
|
|
<td class="paramname"><em>detailMesh</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees the specified detail mesh using the Recast allocator. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">detailMesh</td><td>A detail mesh allocated using <a class="el" href="group__recast.html#ga617834c1759867250e21569c204f1410" title="Allocates a detail mesh object using the Recast allocator.">rcAllocPolyMeshDetail</a></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga617834c1759867250e21569c204f1410" title="Allocates a detail mesh object using the Recast allocator.">rcAllocPolyMeshDetail</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gad3ccc7652b12db58c8e58c976bb34b1b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad3ccc7652b12db58c8e58c976bb34b1b">◆ </a></span>rcGetCon()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int rcGetCon </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structrcCompactSpan.html">rcCompactSpan</a> & </td>
|
|
<td class="paramname"><em>s</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dir</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets neighbor connection data for the specified direction. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">span</td><td>The span to check. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">direction</td><td>The direction to check. [Limits: 0 <= value < 4] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The neighbor connection data for the specified direction, or <a class="el" href="Recast_8h.html#a64354aff947c2d8040e39bb4ceaf1a9f" title="The value returned by rcGetCon if the specified direction is not connected to another span.">RC_NOT_CONNECTED</a> if there is no connection.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>Can be used to locate neighbor spans in a compact heightfield. See the <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a> documentation for details on its use.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcCompactSpan.html" title="Represents a span of unobstructed space within a compact heightfield.">rcCompactSpan</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gaf7827d43d6b3e24ab5aba552343bce26"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaf7827d43d6b3e24ab5aba552343bce26">◆ </a></span>rcGetDirForOffset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int rcGetDirForOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>offsetX</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>offsetZ</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the direction for the specified offset. </p>
|
|
<p>One of x and y should be 0. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">offsetX</td><td>The x offset. [Limits: -1 <= value <= 1] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">offsetZ</td><td>The z offset. [Limits: -1 <= value <= 1] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The direction that represents the offset. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga7f308c34d7d5beb73eca24fe30033064"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga7f308c34d7d5beb73eca24fe30033064">◆ </a></span>rcGetDirOffsetX()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int rcGetDirOffsetX </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dir</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the standard width (x-axis) offset for the specified direction. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">direction</td><td>The direction. [Limits: 0 <= value < 4] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The width offset to apply to the current cell position to move in the direction.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The value of <code>dir</code> will be automatically wrapped. So a value of 6 will be interpreted as 2.</p>
|
|
<p>See the <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a> documentation for usage details. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga7d225822d057252755aeeebdc2388cf2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga7d225822d057252755aeeebdc2388cf2">◆ </a></span>rcGetDirOffsetY()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int rcGetDirOffsetY </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dir</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the standard height (z-axis) offset for the specified direction. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">direction</td><td>The direction. [Limits: 0 <= value < 4] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The height offset to apply to the current cell position to move in the direction.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The value of <code>dir</code> will be automatically wrapped. So a value of 6 will be interpreted as 2.</p>
|
|
<p>See the <a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a> documentation for usage details. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gabade813042a8c79ddb2f4ecf84620cf8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gabade813042a8c79ddb2f4ecf84620cf8">◆ </a></span>rcGetHeightFieldSpanCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int rcGetHeightFieldSpanCount </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of spans contained in the specified heightfield. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">heightfield</td><td>An initialized heightfield. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of spans in the heightfield. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga527b4c24537e47bcc472f28965c7b7bf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga527b4c24537e47bcc472f28965c7b7bf">◆ </a></span>rcMarkBoxArea()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcMarkBoxArea </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>bmin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>bmax</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char </td>
|
|
<td class="paramname"><em>areaId</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies an area id to all spans within the specified bounding box. </p>
|
|
<p>(AABB)</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">bmin</td><td>The minimum of the bounding box. [(x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">bmax</td><td>The maximum of the bounding box. [(x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">areaId</td><td>The area id to apply. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The value of spacial parameters are in world units.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5" title="Applies a median filter to walkable area types (based on area id), removing noise.">rcMedianFilterWalkableArea</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga1e8f3c9c2cb664fb2874d01448a1f223"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga1e8f3c9c2cb664fb2874d01448a1f223">◆ </a></span>rcMarkConvexPolyArea()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcMarkConvexPolyArea </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>nverts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>hmin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>hmax</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char </td>
|
|
<td class="paramname"><em>areaId</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies the area id to the all spans within the specified convex polygon. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The vertices of the polygon [Fomr: (x, y, z) * <code>nverts</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nverts</td><td>The number of vertices in the polygon. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">hmin</td><td>The height of the base of the polygon. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">hmax</td><td>The height of the top of the polygon. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">areaId</td><td>The area id to apply. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The value of spacial parameters are in world units.</p>
|
|
<p>The y-values of the polygon vertices are ignored. So the polygon is effectively projected onto the xz-plane at <code>hmin</code>, then extruded to <code>hmax</code>.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5" title="Applies a median filter to walkable area types (based on area id), removing noise.">rcMedianFilterWalkableArea</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gac2de1bc06b5804dd4304a90f39829948"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gac2de1bc06b5804dd4304a90f39829948">◆ </a></span>rcMarkCylinderArea()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcMarkCylinderArea </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>pos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>r</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>h</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char </td>
|
|
<td class="paramname"><em>areaId</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies the area id to all spans within the specified cylinder. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>The center of the base of the cylinder. [Form: (x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>The radius of the cylinder. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>The height of the cylinder. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">areaId</td><td>The area id to apply. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The value of spacial parameters are in world units.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5" title="Applies a median filter to walkable area types (based on area id), removing noise.">rcMedianFilterWalkableArea</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga63e7b847422bfd78acea724088da6561"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga63e7b847422bfd78acea724088da6561">◆ </a></span>rcMarkWalkableTriangles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcMarkWalkableTriangles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>walkableSlopeAngle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numVerts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int * </td>
|
|
<td class="paramname"><em>tris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numTris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char * </td>
|
|
<td class="paramname"><em>triAreaIDs</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the area id of all triangles with a slope below the specified value to <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>. </p>
|
|
<p>Only sets the area id's for the walkable triangles. Does not alter the area id's for un-walkable triangles.</p>
|
|
<p>See the <a class="el" href="structrcConfig.html" title="Specifies a configuration to use when performing Recast builds.">rcConfig</a> documentation for more information on the configuration parameters.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a>, <a class="el" href="group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622" title="Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NUL...">rcClearUnwalkableTriangles</a>, <a class="el" href="group__recast.html#gadac24191b69876017ed01d85e0a44645" title="Rasterizes an indexed triangle mesh into the specified heightfield.">rcRasterizeTriangles</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">walkableSlopeAngle</td><td>The maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The vertices. [(x, y, z) * <code>nv</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</td><td>The number of vertices. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tris</td><td>The triangle vertex indices. [(vertA, vertB, vertC) * <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numTris</td><td>The number of triangles. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">triAreaIDs</td><td>The triangle area ids. [Length: >= <code>nt</code>] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga793672ade7833e916dd3c0e7a5bd6cc5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga793672ade7833e916dd3c0e7a5bd6cc5">◆ </a></span>rcMedianFilterWalkableArea()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcMedianFilterWalkableArea </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> & </td>
|
|
<td class="paramname"><em>chf</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies a median filter to walkable area types (based on area id), removing noise. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">chf</td><td>A populated compact heightfield. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>This filter is usually applied after applying area id's using functions such as <a class="el" href="group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf" title="Applies an area id to all spans within the specified bounding box.">rcMarkBoxArea</a>, <a class="el" href="group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223" title="Applies the area id to the all spans within the specified convex polygon.">rcMarkConvexPolyArea</a>, and <a class="el" href="group__recast.html#gac2de1bc06b5804dd4304a90f39829948" title="Applies the area id to all spans within the specified cylinder.">rcMarkCylinderArea</a>.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga6ef022fcf6dabdb0437b979304c0defe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga6ef022fcf6dabdb0437b979304c0defe">◆ </a></span>rcMergePolyMeshDetails()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcMergePolyMeshDetails </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> ** </td>
|
|
<td class="paramname"><em>meshes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>nmeshes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMeshDetail.html">rcPolyMeshDetail</a> & </td>
|
|
<td class="paramname"><em>mesh</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Merges multiple detail meshes into a single detail mesh. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">meshes</td><td>An array of detail meshes to merge. [Size: <code>nmeshes</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nmeshes</td><td>The number of detail meshes in the meshes array. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">mesh</td><td>The resulting detail mesh. (Must be pre-allocated.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga617834c1759867250e21569c204f1410" title="Allocates a detail mesh object using the Recast allocator.">rcAllocPolyMeshDetail</a>, <a class="el" href="structrcPolyMeshDetail.html" title="Contains triangle meshes that represent detailed height data associated with the polygons in its asso...">rcPolyMeshDetail</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gaa28c3eb627ca7d96015c7978ff0eb8f7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaa28c3eb627ca7d96015c7978ff0eb8f7">◆ </a></span>rcMergePolyMeshes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcMergePolyMeshes </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>ctx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> ** </td>
|
|
<td class="paramname"><em>meshes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>nmeshes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcPolyMesh.html">rcPolyMesh</a> & </td>
|
|
<td class="paramname"><em>mesh</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Merges multiple polygon meshes into a single mesh. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">meshes</td><td>An array of polygon meshes to merge. [Size: <code>nmeshes</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nmeshes</td><td>The number of polygon meshes in the meshes array. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">mesh</td><td>The resulting polygon mesh. (Must be pre-allocated.) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__recast.html#ga1b6942363f019860984263c0f8f62b9d" title="Allocates a polygon mesh object using the Recast allocator.">rcAllocPolyMesh</a>, <a class="el" href="structrcPolyMesh.html" title="Represents a polygon mesh suitable for use in building a navigation mesh.">rcPolyMesh</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gad71d03bb37c1a16700d57c5f7dff4057"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad71d03bb37c1a16700d57c5f7dff4057">◆ </a></span>rcOffsetPoly()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int rcOffsetPoly </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>nverts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>offset</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"><em>outVerts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>maxOutVerts</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Helper function to offset voncex polygons for rcMarkConvexPolyArea. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The vertices of the polygon [Form: (x, y, z) * <code>nverts</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nverts</td><td>The number of vertices in the polygon. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>How much to offset the polygon by. [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">outVerts</td><td>The offset vertices (should hold up to 2 * <code>nverts</code>) [Form: (x, y, z) * return value] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxOutVerts</td><td>The max number of vertices that can be stored to <code>outVerts</code>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Number of vertices in the offset polygon or 0 if too few vertices in <code>outVerts</code>. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga23a98560fac96a1d2eb9f01c6617e927"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga23a98560fac96a1d2eb9f01c6617e927">◆ </a></span>rcRasterizeTriangle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcRasterizeTriangle </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>v0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>v1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>v2</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned char </td>
|
|
<td class="paramname"><em>areaID</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>flagMergeThreshold</em> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Rasterizes a single triangle into the specified heightfield. </p>
|
|
<p>Calling this for each triangle in a mesh is less efficient than calling rcRasterizeTriangles</p>
|
|
<p>No spans will be added if the triangle does not overlap the heightfield grid.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">v0</td><td>Triangle vertex 0 [(x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">v1</td><td>Triangle vertex 1 [(x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">v2</td><td>Triangle vertex 2 [(x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">areaID</td><td>The area id of the triangle. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>An initialized heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">flagMergeThreshold</td><td>The distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gaebc5f38893ede7ee5d107a9ad2dbd369"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaebc5f38893ede7ee5d107a9ad2dbd369">◆ </a></span>rcRasterizeTriangles() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcRasterizeTriangles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const unsigned char * </td>
|
|
<td class="paramname"><em>triAreaIDs</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numTris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>flagMergeThreshold</em> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Rasterizes a triangle list into the specified heightfield. </p>
|
|
<p>Expects each triangle to be specified as three sequential vertices of 3 floats.</p>
|
|
<p>Spans will only be added for triangles that overlap the heightfield grid.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The triangle vertices. [(ax, ay, az, bx, by, bz, cx, by, cx) * <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">triAreaIDs</td><td>The area id's of the triangles. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] [Size: <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numTris</td><td>The number of triangles. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>An initialized heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">flagMergeThreshold</td><td>The distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gadac24191b69876017ed01d85e0a44645"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gadac24191b69876017ed01d85e0a44645">◆ </a></span>rcRasterizeTriangles() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcRasterizeTriangles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numVerts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int * </td>
|
|
<td class="paramname"><em>tris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const unsigned char * </td>
|
|
<td class="paramname"><em>triAreaIDs</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numTris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>flagMergeThreshold</em> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Rasterizes an indexed triangle mesh into the specified heightfield. </p>
|
|
<p>Spans will only be added for triangles that overlap the heightfield grid.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The vertices. [(x, y, z) * <code>nv</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</td><td>The number of vertices. (unused) TODO (graham): Remove in next major release </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tris</td><td>The triangle indices. [(vertA, vertB, vertC) * <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">triAreaIDs</td><td>The area id's of the triangles. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] [Size: <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numTris</td><td>The number of triangles. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>An initialized heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">flagMergeThreshold</td><td>The distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga40ce03082b89fd8d890fa65d9b3d64d9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga40ce03082b89fd8d890fa65d9b3d64d9">◆ </a></span>rcRasterizeTriangles() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool rcRasterizeTriangles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classrcContext.html">rcContext</a> * </td>
|
|
<td class="paramname"><em>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>verts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numVerts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const unsigned short * </td>
|
|
<td class="paramname"><em>tris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const unsigned char * </td>
|
|
<td class="paramname"><em>triAreaIDs</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numTris</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structrcHeightfield.html">rcHeightfield</a> & </td>
|
|
<td class="paramname"><em>heightfield</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>flagMergeThreshold</em> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Rasterizes an indexed triangle mesh into the specified heightfield. </p>
|
|
<p>Spans will only be added for triangles that overlap the heightfield grid.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcHeightfield.html" title="A dynamic heightfield representing obstructed space.">rcHeightfield</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The build context to use during the operation. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">verts</td><td>The vertices. [(x, y, z) * <code>nv</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</td><td>The number of vertices. (unused) TODO (graham): Remove in next major release </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tris</td><td>The triangle indices. [(vertA, vertB, vertC) * <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">triAreaIDs</td><td>The area id's of the triangles. [Limit: <= <a class="el" href="Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb" title="The default area id used to indicate a walkable polygon.">RC_WALKABLE_AREA</a>] [Size: <code>nt</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numTris</td><td>The number of triangles. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">heightfield</td><td>An initialized heightfield. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">flagMergeThreshold</td><td>The distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the operation completed successfully. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga8cdbebeeb64de5fc7b4b36281f165fc4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga8cdbebeeb64de5fc7b4b36281f165fc4">◆ </a></span>rcSetCon()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rcSetCon </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structrcCompactSpan.html">rcCompactSpan</a> & </td>
|
|
<td class="paramname"><em>s</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dir</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>i</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the neighbor connection data for the specified direction. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">span</td><td>The span to update. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">direction</td><td>The direction to set. [Limits: 0 <= value < 4] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">neighborIndex</td><td>The index of the neighbor span.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>This function is used by the build process. It is rarely of use to end users.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structrcCompactHeightfield.html" title="A compact, static heightfield representing unobstructed space.">rcCompactHeightfield</a>, <a class="el" href="structrcCompactSpan.html" title="Represents a span of unobstructed space within a compact heightfield.">rcCompactSpan</a> </dd></dl>
|
|
|
|
</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>
|
|
<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>
|