mirror of
https://github.com/recastnavigation/recastnavigation.git
synced 2026-10-31 04:55:48 +00:00
2803 lines
179 KiB
HTML
2803 lines
179 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="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
|
<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 the span below them. <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 walkableHeight. <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:ga3dc179b83cb925eb6602cd06123bf038"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga3dc179b83cb925eb6602cd06123bf038">rcBuildCompactHeightfield</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, int walkableHeight, int walkableClimb, const <a class="el" href="structrcHeightfield.html">rcHeightfield</a> &heightfield, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:ga3dc179b83cb925eb6602cd06123bf038"><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#ga3dc179b83cb925eb6602cd06123bf038">More...</a><br /></td></tr>
|
|
<tr class="separator:ga3dc179b83cb925eb6602cd06123bf038"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaf2bf6010fc80e9b6e8f4c0c1fef7a97f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gaf2bf6010fc80e9b6e8f4c0c1fef7a97f">rcErodeWalkableArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, int erosionRadius, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:gaf2bf6010fc80e9b6e8f4c0c1fef7a97f"><td class="mdescLeft"> </td><td class="mdescRight">Erodes the walkable area within the heightfield by the specified radius. <a href="group__recast.html#gaf2bf6010fc80e9b6e8f4c0c1fef7a97f">More...</a><br /></td></tr>
|
|
<tr class="separator:gaf2bf6010fc80e9b6e8f4c0c1fef7a97f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga80e89976e7d6388f1a78ad622ef57bdf"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga80e89976e7d6388f1a78ad622ef57bdf">rcMedianFilterWalkableArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:ga80e89976e7d6388f1a78ad622ef57bdf"><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#ga80e89976e7d6388f1a78ad622ef57bdf">More...</a><br /></td></tr>
|
|
<tr class="separator:ga80e89976e7d6388f1a78ad622ef57bdf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gab76182beff7fc231b489c414b26e8638"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gab76182beff7fc231b489c414b26e8638">rcMarkBoxArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *boxMinBounds, const float *boxMaxBounds, unsigned char areaId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:gab76182beff7fc231b489c414b26e8638"><td class="mdescLeft"> </td><td class="mdescRight">Applies an area id to all spans within the specified bounding box. <a href="group__recast.html#gab76182beff7fc231b489c414b26e8638">More...</a><br /></td></tr>
|
|
<tr class="separator:gab76182beff7fc231b489c414b26e8638"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga0dee8037963c1452a25b3835f3e8d902"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga0dee8037963c1452a25b3835f3e8d902">rcMarkConvexPolyArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *verts, int numVerts, float minY, float maxY, unsigned char areaId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:ga0dee8037963c1452a25b3835f3e8d902"><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#ga0dee8037963c1452a25b3835f3e8d902">More...</a><br /></td></tr>
|
|
<tr class="separator:ga0dee8037963c1452a25b3835f3e8d902"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gafbf610dce5157badc30bd847684a3f9c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gafbf610dce5157badc30bd847684a3f9c">rcOffsetPoly</a> (const float *verts, int numVerts, float offset, float *outVerts, int maxOutVerts)</td></tr>
|
|
<tr class="memdesc:gafbf610dce5157badc30bd847684a3f9c"><td class="mdescLeft"> </td><td class="mdescRight">Expands a convex polygon along its vertex normals by the given offset amount. <a href="group__recast.html#gafbf610dce5157badc30bd847684a3f9c">More...</a><br /></td></tr>
|
|
<tr class="separator:gafbf610dce5157badc30bd847684a3f9c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2c4bba9a06ae30ac063fba1a69a68cd9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga2c4bba9a06ae30ac063fba1a69a68cd9">rcMarkCylinderArea</a> (<a class="el" href="classrcContext.html">rcContext</a> *context, const float *position, float radius, float height, unsigned char areaId, <a class="el" href="structrcCompactHeightfield.html">rcCompactHeightfield</a> &compactHeightfield)</td></tr>
|
|
<tr class="memdesc:ga2c4bba9a06ae30ac063fba1a69a68cd9"><td class="mdescLeft"> </td><td class="mdescRight">Applies the area id to all spans within the specified y-axis-aligned cylinder. <a href="group__recast.html#ga2c4bba9a06ae30ac063fba1a69a68cd9">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2c4bba9a06ae30ac063fba1a69a68cd9"><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:ga6d3f24b49036ca9b6c2bd5e7d13d053b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga6d3f24b49036ca9b6c2bd5e7d13d053b">rcBuildHeightfieldLayers</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const <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:ga6d3f24b49036ca9b6c2bd5e7d13d053b"><td class="mdescLeft"> </td><td class="mdescRight">Builds a layer set from the specified compact heightfield. <a href="group__recast.html#ga6d3f24b49036ca9b6c2bd5e7d13d053b">More...</a><br /></td></tr>
|
|
<tr class="separator:ga6d3f24b49036ca9b6c2bd5e7d13d053b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gae211dbabbd2a9e3e3e374452f3fa4dfc"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#gae211dbabbd2a9e3e3e374452f3fa4dfc">rcBuildContours</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const <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:gae211dbabbd2a9e3e3e374452f3fa4dfc"><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#gae211dbabbd2a9e3e3e374452f3fa4dfc">More...</a><br /></td></tr>
|
|
<tr class="separator:gae211dbabbd2a9e3e3e374452f3fa4dfc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8688f9cb5dab904bbbe43c362a69e769"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__recast.html#ga8688f9cb5dab904bbbe43c362a69e769">rcBuildPolyMesh</a> (<a class="el" href="classrcContext.html">rcContext</a> *ctx, const <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:ga8688f9cb5dab904bbbe43c362a69e769"><td class="mdescLeft"> </td><td class="mdescRight">Builds a polygon mesh from the provided contours. <a href="group__recast.html#ga8688f9cb5dab904bbbe43c362a69e769">More...</a><br /></td></tr>
|
|
<tr class="separator:ga8688f9cb5dab904bbbe43c362a69e769"><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#ga3dc179b83cb925eb6602cd06123bf038" 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#gae211dbabbd2a9e3e3e374452f3fa4dfc" 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#ga6d3f24b49036ca9b6c2bd5e7d13d053b" 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#ga8688f9cb5dab904bbbe43c362a69e769" 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="ga3dc179b83cb925eb6602cd06123bf038"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga3dc179b83cb925eb6602cd06123bf038">◆ </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">const <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="gae211dbabbd2a9e3e3e374452f3fa4dfc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae211dbabbd2a9e3e3e374452f3fa4dfc">◆ </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">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>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="ga6d3f24b49036ca9b6c2bd5e7d13d053b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga6d3f24b49036ca9b6c2bd5e7d13d053b">◆ </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">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 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="ga8688f9cb5dab904bbbe43c362a69e769"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga8688f9cb5dab904bbbe43c362a69e769">◆ </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">const <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 restricted 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 unnecessarily 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 unnecessarily 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="gaf2bf6010fc80e9b6e8f4c0c1fef7a97f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaf2bf6010fc80e9b6e8f4c0c1fef7a97f">◆ </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>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>erosionRadius</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>Erodes the walkable area within the heightfield by the specified radius. </p>
|
|
<p>Basically, any spans that are closer to a boundary or obstruction than the specified radius are marked as un-walkable.</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#ga3dc179b83cb925eb6602cd06123bf038" 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>
|
|
<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">erosionRadius</td><td>The radius of erosion. [Limits: 0 < value < 255] [Units: vx] </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">compactHeightfield</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>
|
|
|
|
</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 the span below them. </p>
|
|
<p>This removes small obstacles and rasterization artifacts that the agent would be able to walk over such as curbs. It also allows agents to move up terraced structures like stairs.</p>
|
|
<p>Obstacle spans are marked walkable if: <code>obstacleSpan.smax - walkableSpan.smax < walkableClimb</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>. 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> only after applying 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 walkableHeight. </p>
|
|
<p>For this filter, the clearance above the span is the distance from the span's maximum to the minimum of the next higher span in the same column. If there is no higher span in the column, the clearance is computed as the distance from the top of the span to the maximum heightfield height.</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>span</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>direction</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>direction</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>direction</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="gab76182beff7fc231b489c414b26e8638"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gab76182beff7fc231b489c414b26e8638">◆ </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>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>boxMinBounds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>boxMaxBounds</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>compactHeightfield</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="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#ga80e89976e7d6388f1a78ad622ef57bdf" title="Applies a median filter to walkable area types (based on area id), removing noise.">rcMedianFilterWalkableArea</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">boxMinBounds</td><td>The minimum extents of the bounding box. [(x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">boxMaxBounds</td><td>The maximum extents of the bounding box. [(x, y, z)] [Units: wu] </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">compactHeightfield</td><td>A populated compact heightfield. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga0dee8037963c1452a25b3835f3e8d902"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga0dee8037963c1452a25b3835f3e8d902">◆ </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>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">float </td>
|
|
<td class="paramname"><em>minY</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>maxY</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>compactHeightfield</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>
|
|
<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, translated to <code>minY</code>, and extruded to <code>maxY</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#ga80e89976e7d6388f1a78ad622ef57bdf" title="Applies a median filter to walkable area types (based on area id), removing noise.">rcMedianFilterWalkableArea</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 of the polygon [For: (x, y, z) * <code>numVerts</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</td><td>The number of vertices in the polygon. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">minY</td><td>The height of the base of the polygon. [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxY</td><td>The height of the top of the polygon. [Units: wu] </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">compactHeightfield</td><td>A populated compact heightfield. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga2c4bba9a06ae30ac063fba1a69a68cd9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga2c4bba9a06ae30ac063fba1a69a68cd9">◆ </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>context</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>position</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>radius</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"><em>height</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>compactHeightfield</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 y-axis-aligned cylinder. </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#ga80e89976e7d6388f1a78ad622ef57bdf" title="Applies a median filter to walkable area types (based on area id), removing noise.">rcMedianFilterWalkableArea</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">position</td><td>The center of the base of the cylinder. [Form: (x, y, z)] [Units: wu] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">radius</td><td>The radius of the cylinder. [Units: wu] [Limit: > 0] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the cylinder. [Units: wu] [Limit: > 0] </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">compactHeightfield</td><td>A populated compact heightfield. </td></tr>
|
|
</table>
|
|
</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="ga80e89976e7d6388f1a78ad622ef57bdf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga80e89976e7d6388f1a78ad622ef57bdf">◆ </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>context</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>Applies a median filter to walkable area types (based on area id), removing noise. </p>
|
|
<p>This filter is usually applied after applying area id's using functions such as <a class="el" href="group__recast.html#gab76182beff7fc231b489c414b26e8638" title="Applies an area id to all spans within the specified bounding box.">rcMarkBoxArea</a>, <a class="el" href="group__recast.html#ga0dee8037963c1452a25b3835f3e8d902" title="Applies the area id to the all spans within the specified convex polygon.">rcMarkConvexPolyArea</a>, and <a class="el" href="group__recast.html#ga2c4bba9a06ae30ac063fba1a69a68cd9" title="Applies the area id to all spans within the specified y-axis-aligned 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>
|
|
<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">compactHeightfield</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>
|
|
|
|
</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="gafbf610dce5157badc30bd847684a3f9c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gafbf610dce5157badc30bd847684a3f9c">◆ </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">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>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">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>Expands a convex polygon along its vertex normals by the given offset amount. </p>
|
|
<p>Inserts extra vertices to bevel sharp corners.</p>
|
|
<p>Helper function to offset convex 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>numVerts</code>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numVerts</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>numVerts</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>span</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>direction</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>neighborIndex</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>
|