mirror of
https://github.com/recastnavigation/recastnavigation.git
synced 2026-08-30 15:08:55 +00:00
964 lines
52 KiB
HTML
964 lines
52 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: dtCrowd Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr 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('classdtCrowd.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="#pub-methods">Public Member Functions</a> |
|
|
<a href="classdtCrowd-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">dtCrowd Class Reference<div class="ingroups"><a class="el" href="group__crowd.html">Crowd</a></div></div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Provides local steering behaviors for a group of agents.
|
|
<a href="classdtCrowd.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="DetourCrowd_8h_source.html">DetourCrowd.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a2210ecc99a80dfda29e1b57f22b3f8a8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a2210ecc99a80dfda29e1b57f22b3f8a8">dtCrowd</a> ()</td></tr>
|
|
<tr class="separator:a2210ecc99a80dfda29e1b57f22b3f8a8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9a6817150b328d1646e58713cef9d9b4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a9a6817150b328d1646e58713cef9d9b4">~dtCrowd</a> ()</td></tr>
|
|
<tr class="separator:a9a6817150b328d1646e58713cef9d9b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2f670cde9e10d07e3ed189ea861f37e4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4">init</a> (const int maxAgents, const float maxAgentRadius, <a class="el" href="classdtNavMesh.html">dtNavMesh</a> *nav)</td></tr>
|
|
<tr class="memdesc:a2f670cde9e10d07e3ed189ea861f37e4"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the crowd. <a href="classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4">More...</a><br /></td></tr>
|
|
<tr class="separator:a2f670cde9e10d07e3ed189ea861f37e4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a96338b9a99e8d58a3051a9ce7934e8b1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1">setObstacleAvoidanceParams</a> (const int idx, const <a class="el" href="structdtObstacleAvoidanceParams.html">dtObstacleAvoidanceParams</a> *params)</td></tr>
|
|
<tr class="memdesc:a96338b9a99e8d58a3051a9ce7934e8b1"><td class="mdescLeft"> </td><td class="mdescRight">Sets the shared avoidance configuration for the specified index. <a href="classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1">More...</a><br /></td></tr>
|
|
<tr class="separator:a96338b9a99e8d58a3051a9ce7934e8b1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4da076dabe04b63d801c63c99d2fb5bb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structdtObstacleAvoidanceParams.html">dtObstacleAvoidanceParams</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a4da076dabe04b63d801c63c99d2fb5bb">getObstacleAvoidanceParams</a> (const int idx) const</td></tr>
|
|
<tr class="memdesc:a4da076dabe04b63d801c63c99d2fb5bb"><td class="mdescLeft"> </td><td class="mdescRight">Gets the shared avoidance configuration for the specified index. <a href="classdtCrowd.html#a4da076dabe04b63d801c63c99d2fb5bb">More...</a><br /></td></tr>
|
|
<tr class="separator:a4da076dabe04b63d801c63c99d2fb5bb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeef39643256ddad7ae421c78dda0ce06"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structdtCrowdAgent.html">dtCrowdAgent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#aeef39643256ddad7ae421c78dda0ce06">getAgent</a> (const int idx)</td></tr>
|
|
<tr class="memdesc:aeef39643256ddad7ae421c78dda0ce06"><td class="mdescLeft"> </td><td class="mdescRight">Gets the specified agent from the pool. <a href="classdtCrowd.html#aeef39643256ddad7ae421c78dda0ce06">More...</a><br /></td></tr>
|
|
<tr class="separator:aeef39643256ddad7ae421c78dda0ce06"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa6b571af2a8c628063b904c7b1a5e910"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtCrowdAgent.html">dtCrowdAgent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#aa6b571af2a8c628063b904c7b1a5e910">getEditableAgent</a> (const int idx)</td></tr>
|
|
<tr class="memdesc:aa6b571af2a8c628063b904c7b1a5e910"><td class="mdescLeft"> </td><td class="mdescRight">Gets the specified agent from the pool. <a href="classdtCrowd.html#aa6b571af2a8c628063b904c7b1a5e910">More...</a><br /></td></tr>
|
|
<tr class="separator:aa6b571af2a8c628063b904c7b1a5e910"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a87dc2372038ee12d9043a65737880b78"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78">getAgentCount</a> () const</td></tr>
|
|
<tr class="memdesc:a87dc2372038ee12d9043a65737880b78"><td class="mdescLeft"> </td><td class="mdescRight">The maximum number of agents that can be managed by the object. <a href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78">More...</a><br /></td></tr>
|
|
<tr class="separator:a87dc2372038ee12d9043a65737880b78"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae8c89febfd979a6b963c62d8cdb60653"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653">addAgent</a> (const float *pos, const <a class="el" href="structdtCrowdAgentParams.html">dtCrowdAgentParams</a> *params)</td></tr>
|
|
<tr class="memdesc:ae8c89febfd979a6b963c62d8cdb60653"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new agent to the crowd. <a href="classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653">More...</a><br /></td></tr>
|
|
<tr class="separator:ae8c89febfd979a6b963c62d8cdb60653"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6ed4aa0026c21593daa9ea12c71f84c2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2">updateAgentParameters</a> (const int idx, const <a class="el" href="structdtCrowdAgentParams.html">dtCrowdAgentParams</a> *params)</td></tr>
|
|
<tr class="memdesc:a6ed4aa0026c21593daa9ea12c71f84c2"><td class="mdescLeft"> </td><td class="mdescRight">Updates the specified agent's configuration. <a href="classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2">More...</a><br /></td></tr>
|
|
<tr class="separator:a6ed4aa0026c21593daa9ea12c71f84c2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae958ada7790a718a2887114264010f62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#ae958ada7790a718a2887114264010f62">removeAgent</a> (const int idx)</td></tr>
|
|
<tr class="memdesc:ae958ada7790a718a2887114264010f62"><td class="mdescLeft"> </td><td class="mdescRight">Removes the agent from the crowd. <a href="classdtCrowd.html#ae958ada7790a718a2887114264010f62">More...</a><br /></td></tr>
|
|
<tr class="separator:ae958ada7790a718a2887114264010f62"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa30c34a65535118989ccd86542e96797"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#aa30c34a65535118989ccd86542e96797">requestMoveTarget</a> (const int idx, <a class="el" href="group__detour.html#gab4e0b2257a670c1a800057999612b466">dtPolyRef</a> ref, const float *pos)</td></tr>
|
|
<tr class="memdesc:aa30c34a65535118989ccd86542e96797"><td class="mdescLeft"> </td><td class="mdescRight">Submits a new move request for the specified agent. <a href="classdtCrowd.html#aa30c34a65535118989ccd86542e96797">More...</a><br /></td></tr>
|
|
<tr class="separator:aa30c34a65535118989ccd86542e96797"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4fe7e43e63d857e77f9db1f20b904806"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a4fe7e43e63d857e77f9db1f20b904806">requestMoveVelocity</a> (const int idx, const float *vel)</td></tr>
|
|
<tr class="memdesc:a4fe7e43e63d857e77f9db1f20b904806"><td class="mdescLeft"> </td><td class="mdescRight">Submits a new move request for the specified agent. <a href="classdtCrowd.html#a4fe7e43e63d857e77f9db1f20b904806">More...</a><br /></td></tr>
|
|
<tr class="separator:a4fe7e43e63d857e77f9db1f20b904806"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a81405dee71882d0a21a4defd6087a270"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a81405dee71882d0a21a4defd6087a270">resetMoveTarget</a> (const int idx)</td></tr>
|
|
<tr class="memdesc:a81405dee71882d0a21a4defd6087a270"><td class="mdescLeft"> </td><td class="mdescRight">Resets any request for the specified agent. <a href="classdtCrowd.html#a81405dee71882d0a21a4defd6087a270">More...</a><br /></td></tr>
|
|
<tr class="separator:a81405dee71882d0a21a4defd6087a270"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a15a4b9b9fb72a358514489ea8f755405"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405">getActiveAgents</a> (<a class="el" href="structdtCrowdAgent.html">dtCrowdAgent</a> **agents, const int maxAgents)</td></tr>
|
|
<tr class="memdesc:a15a4b9b9fb72a358514489ea8f755405"><td class="mdescLeft"> </td><td class="mdescRight">Gets the active agents int the agent pool. <a href="classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405">More...</a><br /></td></tr>
|
|
<tr class="separator:a15a4b9b9fb72a358514489ea8f755405"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae3f041e335ca87c323e7340e73113919"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#ae3f041e335ca87c323e7340e73113919">update</a> (const float dt, <a class="el" href="structdtCrowdAgentDebugInfo.html">dtCrowdAgentDebugInfo</a> *debug)</td></tr>
|
|
<tr class="memdesc:ae3f041e335ca87c323e7340e73113919"><td class="mdescLeft"> </td><td class="mdescRight">Updates the steering and positions of all agents. <a href="classdtCrowd.html#ae3f041e335ca87c323e7340e73113919">More...</a><br /></td></tr>
|
|
<tr class="separator:ae3f041e335ca87c323e7340e73113919"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae712fb6e6e907454ec0a827d11957373"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classdtQueryFilter.html">dtQueryFilter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#ae712fb6e6e907454ec0a827d11957373">getFilter</a> (const int i) const</td></tr>
|
|
<tr class="memdesc:ae712fb6e6e907454ec0a827d11957373"><td class="mdescLeft"> </td><td class="mdescRight">Gets the filter used by the crowd. <a href="classdtCrowd.html#ae712fb6e6e907454ec0a827d11957373">More...</a><br /></td></tr>
|
|
<tr class="separator:ae712fb6e6e907454ec0a827d11957373"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a170a9c4cc9f88a7ee3d560abce9ad552"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdtQueryFilter.html">dtQueryFilter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a170a9c4cc9f88a7ee3d560abce9ad552">getEditableFilter</a> (const int i)</td></tr>
|
|
<tr class="memdesc:a170a9c4cc9f88a7ee3d560abce9ad552"><td class="mdescLeft"> </td><td class="mdescRight">Gets the filter used by the crowd. <a href="classdtCrowd.html#a170a9c4cc9f88a7ee3d560abce9ad552">More...</a><br /></td></tr>
|
|
<tr class="separator:a170a9c4cc9f88a7ee3d560abce9ad552"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a24dd5232d34c87b80b75a6ae2729fd27"><td class="memItemLeft" align="right" valign="top">const float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a24dd5232d34c87b80b75a6ae2729fd27">getQueryHalfExtents</a> () const</td></tr>
|
|
<tr class="memdesc:a24dd5232d34c87b80b75a6ae2729fd27"><td class="mdescLeft"> </td><td class="mdescRight">Gets the search halfExtents [(x, y, z)] used by the crowd for query operations. <a href="classdtCrowd.html#a24dd5232d34c87b80b75a6ae2729fd27">More...</a><br /></td></tr>
|
|
<tr class="separator:a24dd5232d34c87b80b75a6ae2729fd27"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a37c9f57844d91e46fd4c8ef9de17b0"><td class="memItemLeft" align="right" valign="top">const float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a6a37c9f57844d91e46fd4c8ef9de17b0">getQueryExtents</a> () const</td></tr>
|
|
<tr class="memdesc:a6a37c9f57844d91e46fd4c8ef9de17b0"><td class="mdescLeft"> </td><td class="mdescRight">Same as getQueryHalfExtents. <a href="classdtCrowd.html#a6a37c9f57844d91e46fd4c8ef9de17b0">More...</a><br /></td></tr>
|
|
<tr class="separator:a6a37c9f57844d91e46fd4c8ef9de17b0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a22ceec36962e3fdaccfbe4e84a8b24b3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a22ceec36962e3fdaccfbe4e84a8b24b3">getVelocitySampleCount</a> () const</td></tr>
|
|
<tr class="memdesc:a22ceec36962e3fdaccfbe4e84a8b24b3"><td class="mdescLeft"> </td><td class="mdescRight">Gets the velocity sample count. <a href="classdtCrowd.html#a22ceec36962e3fdaccfbe4e84a8b24b3">More...</a><br /></td></tr>
|
|
<tr class="separator:a22ceec36962e3fdaccfbe4e84a8b24b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1d1534a46f29afd4ab82ac37080c5ad0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classdtProximityGrid.html">dtProximityGrid</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a1d1534a46f29afd4ab82ac37080c5ad0">getGrid</a> () const</td></tr>
|
|
<tr class="memdesc:a1d1534a46f29afd4ab82ac37080c5ad0"><td class="mdescLeft"> </td><td class="mdescRight">Gets the crowd's proximity grid. <a href="classdtCrowd.html#a1d1534a46f29afd4ab82ac37080c5ad0">More...</a><br /></td></tr>
|
|
<tr class="separator:a1d1534a46f29afd4ab82ac37080c5ad0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5300bc081c832dde048affb6bd077afb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classdtPathQueue.html">dtPathQueue</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#a5300bc081c832dde048affb6bd077afb">getPathQueue</a> () const</td></tr>
|
|
<tr class="memdesc:a5300bc081c832dde048affb6bd077afb"><td class="mdescLeft"> </td><td class="mdescRight">Gets the crowd's path request queue. <a href="classdtCrowd.html#a5300bc081c832dde048affb6bd077afb">More...</a><br /></td></tr>
|
|
<tr class="separator:a5300bc081c832dde048affb6bd077afb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae58e2252287003e9b7226936cf8b4ea7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classdtNavMeshQuery.html">dtNavMeshQuery</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtCrowd.html#ae58e2252287003e9b7226936cf8b4ea7">getNavMeshQuery</a> () const</td></tr>
|
|
<tr class="memdesc:ae58e2252287003e9b7226936cf8b4ea7"><td class="mdescLeft"> </td><td class="mdescRight">Gets the query object used by the crowd. <a href="classdtCrowd.html#ae58e2252287003e9b7226936cf8b4ea7">More...</a><br /></td></tr>
|
|
<tr class="separator:ae58e2252287003e9b7226936cf8b4ea7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
<div class="textblock"><p>Provides local steering behaviors for a group of agents. </p>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>This is the core class of the <a class="el" href="group__crowd.html">Crowd</a> module. See the <a class="el" href="group__crowd.html">Crowd</a> documentation for a summary of the crowd features.</p>
|
|
<p>A common method for setting up the crowd is as follows:</p>
|
|
<ol type="1">
|
|
<li>Allocate the crowd using <a class="el" href="group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55" title="Allocates a crowd object using the Detour allocator.">dtAllocCrowd</a>.</li>
|
|
<li>Initialize the crowd using <a class="el" href="classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4" title="Initializes the crowd.">init()</a>.</li>
|
|
<li>Set the avoidance configurations using <a class="el" href="classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1" title="Sets the shared avoidance configuration for the specified index.">setObstacleAvoidanceParams()</a>.</li>
|
|
<li>Add agents using <a class="el" href="classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653" title="Adds a new agent to the crowd.">addAgent()</a> and make an initial movement request using <a class="el" href="classdtCrowd.html#aa30c34a65535118989ccd86542e96797" title="Submits a new move request for the specified agent.">requestMoveTarget()</a>.</li>
|
|
</ol>
|
|
<p>A common process for managing the crowd is as follows:</p>
|
|
<ol type="1">
|
|
<li>Call <a class="el" href="classdtCrowd.html#ae3f041e335ca87c323e7340e73113919" title="Updates the steering and positions of all agents.">update()</a> to allow the crowd to manage its agents.</li>
|
|
<li>Retrieve agent information using <a class="el" href="classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405" title="Gets the active agents int the agent pool.">getActiveAgents()</a>.</li>
|
|
<li>Make movement requests using <a class="el" href="classdtCrowd.html#aa30c34a65535118989ccd86542e96797" title="Submits a new move request for the specified agent.">requestMoveTarget()</a> when movement goal changes.</li>
|
|
<li>Repeat every frame.</li>
|
|
</ol>
|
|
<p>Some agent configuration settings can be updated using <a class="el" href="classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2" title="Updates the specified agent's configuration.">updateAgentParameters()</a>. But the crowd owns the agent position. So it is not possible to update an active agent's position. If agent position must be fed back into the crowd, the agent must be removed and re-added.</p>
|
|
<p>Notes:</p>
|
|
<ul>
|
|
<li>Path related information is available for newly added agents only after an <a class="el" href="classdtCrowd.html#ae3f041e335ca87c323e7340e73113919" title="Updates the steering and positions of all agents.">update()</a> has been performed.</li>
|
|
<li>Agent objects are kept in a pool and re-used. So it is important when using agent objects to check the value of <a class="el" href="structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20" title="True if the agent is active, false if the agent is in an unused slot in the agent pool.">dtCrowdAgent::active</a> to determine if the agent is actually in use or not.</li>
|
|
<li>This class is meant to provide 'local' movement. There is a limit of 256 polygons in the path corridor. <br />
|
|
So it is not meant to provide automatic pathfinding services over long distances.</li>
|
|
</ul>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55" title="Allocates a crowd object using the Detour allocator.">dtAllocCrowd()</a>, <a class="el" href="group__crowd.html#ga9475313642645070e78c359e0fc02b7a" title="Frees the specified crowd object using the Detour allocator.">dtFreeCrowd()</a>, <a class="el" href="classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4" title="Initializes the crowd.">init()</a>, <a class="el" href="structdtCrowdAgent.html" title="Represents an agent managed by a dtCrowd object.">dtCrowdAgent</a> </dd></dl>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a2210ecc99a80dfda29e1b57f22b3f8a8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2210ecc99a80dfda29e1b57f22b3f8a8">◆ </a></span>dtCrowd()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">dtCrowd::dtCrowd </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9a6817150b328d1646e58713cef9d9b4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9a6817150b328d1646e58713cef9d9b4">◆ </a></span>~dtCrowd()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">dtCrowd::~dtCrowd </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="ae8c89febfd979a6b963c62d8cdb60653"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae8c89febfd979a6b963c62d8cdb60653">◆ </a></span>addAgent()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int dtCrowd::addAgent </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>pos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structdtCrowdAgentParams.html">dtCrowdAgentParams</a> * </td>
|
|
<td class="paramname"><em>params</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a new agent to the crowd. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>The requested position of the agent. [(x, y, z)] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>The configuration of the agent. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The index of the agent in the agent pool. Or -1 if the agent could not be added.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The agent's position will be constrained to the surface of the navigation mesh. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a15a4b9b9fb72a358514489ea8f755405"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a15a4b9b9fb72a358514489ea8f755405">◆ </a></span>getActiveAgents()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int dtCrowd::getActiveAgents </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structdtCrowdAgent.html">dtCrowdAgent</a> ** </td>
|
|
<td class="paramname"><em>agents</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>maxAgents</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the active agents int the agent pool. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">agents</td><td>An array of agent pointers. [(<a class="el" href="structdtCrowdAgent.html" title="Represents an agent managed by a dtCrowd object.">dtCrowdAgent</a> *) * maxAgents] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxAgents</td><td>The size of the crowd agent array. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of agents returned in <code>agents</code>. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeef39643256ddad7ae421c78dda0ce06"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeef39643256ddad7ae421c78dda0ce06">◆ </a></span>getAgent()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="structdtCrowdAgent.html">dtCrowdAgent</a> * dtCrowd::getAgent </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the specified agent from the pool. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The requested agent.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>Agents in the pool may not be in use. Check <a class="el" href="structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20" title="True if the agent is active, false if the agent is in an unused slot in the agent pool.">dtCrowdAgent.active</a> before using the returned object. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a87dc2372038ee12d9043a65737880b78"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a87dc2372038ee12d9043a65737880b78">◆ </a></span>getAgentCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int dtCrowd::getAgentCount </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The maximum number of agents that can be managed by the object. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The maximum number of agents. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa6b571af2a8c628063b904c7b1a5e910"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa6b571af2a8c628063b904c7b1a5e910">◆ </a></span>getEditableAgent()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structdtCrowdAgent.html">dtCrowdAgent</a> * dtCrowd::getEditableAgent </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the specified agent from the pool. </p>
|
|
<p>Agents in the pool may not be in use.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The requested agent.</dd></dl>
|
|
<p>Check <a class="el" href="structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20" title="True if the agent is active, false if the agent is in an unused slot in the agent pool.">dtCrowdAgent.active</a> before using the returned object. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a170a9c4cc9f88a7ee3d560abce9ad552"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a170a9c4cc9f88a7ee3d560abce9ad552">◆ </a></span>getEditableFilter()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classdtQueryFilter.html">dtQueryFilter</a>* dtCrowd::getEditableFilter </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>i</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 filter used by the crowd. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The filter used by the crowd. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae712fb6e6e907454ec0a827d11957373"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae712fb6e6e907454ec0a827d11957373">◆ </a></span>getFilter()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classdtQueryFilter.html">dtQueryFilter</a>* dtCrowd::getFilter </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>i</em></td><td>)</td>
|
|
<td> const</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 filter used by the crowd. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The filter used by the crowd. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1d1534a46f29afd4ab82ac37080c5ad0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1d1534a46f29afd4ab82ac37080c5ad0">◆ </a></span>getGrid()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classdtProximityGrid.html">dtProximityGrid</a>* dtCrowd::getGrid </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</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 crowd's proximity grid. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The crowd's proximity grid. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae58e2252287003e9b7226936cf8b4ea7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae58e2252287003e9b7226936cf8b4ea7">◆ </a></span>getNavMeshQuery()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classdtNavMeshQuery.html">dtNavMeshQuery</a>* dtCrowd::getNavMeshQuery </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</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 query object used by the crowd. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4da076dabe04b63d801c63c99d2fb5bb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4da076dabe04b63d801c63c99d2fb5bb">◆ </a></span>getObstacleAvoidanceParams()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="structdtObstacleAvoidanceParams.html">dtObstacleAvoidanceParams</a> * dtCrowd::getObstacleAvoidanceParams </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the shared avoidance configuration for the specified index. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The index of the configuration to retreive. [Limits: 0 <= value < <a class="el" href="group__crowd.html#gaca1e1a9395fd4406de712dc4330c60c5" title="The maximum number of crowd avoidance configurations supported by the crowd manager.">DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS</a>] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The requested configuration. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5300bc081c832dde048affb6bd077afb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5300bc081c832dde048affb6bd077afb">◆ </a></span>getPathQueue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classdtPathQueue.html">dtPathQueue</a>* dtCrowd::getPathQueue </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</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 crowd's path request queue. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The crowd's path request queue. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6a37c9f57844d91e46fd4c8ef9de17b0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6a37c9f57844d91e46fd4c8ef9de17b0">◆ </a></span>getQueryExtents()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const float* dtCrowd::getQueryExtents </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</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>Same as getQueryHalfExtents. </p>
|
|
<p>Left to maintain backwards compatibility. </p><dl class="section return"><dt>Returns</dt><dd>The search halfExtents used by the crowd. [(x, y, z)] </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a24dd5232d34c87b80b75a6ae2729fd27"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a24dd5232d34c87b80b75a6ae2729fd27">◆ </a></span>getQueryHalfExtents()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const float* dtCrowd::getQueryHalfExtents </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</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 search halfExtents [(x, y, z)] used by the crowd for query operations. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The search halfExtents used by the crowd. [(x, y, z)] </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a22ceec36962e3fdaccfbe4e84a8b24b3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a22ceec36962e3fdaccfbe4e84a8b24b3">◆ </a></span>getVelocitySampleCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int dtCrowd::getVelocitySampleCount </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</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 velocity sample count. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The velocity sample count. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2f670cde9e10d07e3ed189ea861f37e4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2f670cde9e10d07e3ed189ea861f37e4">◆ </a></span>init()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool dtCrowd::init </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>maxAgents</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>maxAgentRadius</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classdtNavMesh.html">dtNavMesh</a> * </td>
|
|
<td class="paramname"><em>nav</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Initializes the crowd. </p>
|
|
<p><br />
|
|
</p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxAgents</td><td>The maximum number of agents the crowd can manage. [Limit: >= 1] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">maxAgentRadius</td><td>The maximum radius of any agent that will be added to the crowd. [Limit: > 0] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nav</td><td>The navigation mesh to use for planning. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the initialization succeeded.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>May be called more than once to purge and re-initialize the crowd. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae958ada7790a718a2887114264010f62"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae958ada7790a718a2887114264010f62">◆ </a></span>removeAgent()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void dtCrowd::removeAgent </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Removes the agent from the crowd. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>The agent is deactivated and will no longer be processed. Its <a class="el" href="structdtCrowdAgent.html" title="Represents an agent managed by a dtCrowd object.">dtCrowdAgent</a> object is not removed from the pool. It is marked as inactive so that it is available for reuse. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa30c34a65535118989ccd86542e96797"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa30c34a65535118989ccd86542e96797">◆ </a></span>requestMoveTarget()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool dtCrowd::requestMoveTarget </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__detour.html#gab4e0b2257a670c1a800057999612b466">dtPolyRef</a> </td>
|
|
<td class="paramname"><em>ref</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>pos</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Submits a new move request for the specified agent. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">ref</td><td>The position's polygon reference. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>The position within the polygon. [(x, y, z)] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the request was successfully submitted.</dd></dl>
|
|
<dl class="section user"><dt></dt><dd></dd></dl>
|
|
<p>This method is used when a new target is set.</p>
|
|
<p>The position will be constrained to the surface of the navigation mesh.</p>
|
|
<p>The request will be processed during the next <a class="el" href="classdtCrowd.html#ae3f041e335ca87c323e7340e73113919" title="Updates the steering and positions of all agents.">update()</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4fe7e43e63d857e77f9db1f20b904806"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4fe7e43e63d857e77f9db1f20b904806">◆ </a></span>requestMoveVelocity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool dtCrowd::requestMoveVelocity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"><em>vel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Submits a new move request for the specified agent. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">vel</td><td>The movement velocity. [(x, y, z)] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the request was successfully submitted. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a81405dee71882d0a21a4defd6087a270"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a81405dee71882d0a21a4defd6087a270">◆ </a></span>resetMoveTarget()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool dtCrowd::resetMoveTarget </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Resets any request for the specified agent. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the request was successfully reseted. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a96338b9a99e8d58a3051a9ce7934e8b1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a96338b9a99e8d58a3051a9ce7934e8b1">◆ </a></span>setObstacleAvoidanceParams()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void dtCrowd::setObstacleAvoidanceParams </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structdtObstacleAvoidanceParams.html">dtObstacleAvoidanceParams</a> * </td>
|
|
<td class="paramname"><em>params</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the shared avoidance configuration for the specified index. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The index. [Limits: 0 <= value < <a class="el" href="group__crowd.html#gaca1e1a9395fd4406de712dc4330c60c5" title="The maximum number of crowd avoidance configurations supported by the crowd manager.">DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS</a>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>The new configuration. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae3f041e335ca87c323e7340e73113919"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae3f041e335ca87c323e7340e73113919">◆ </a></span>update()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void dtCrowd::update </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname"><em>dt</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structdtCrowdAgentDebugInfo.html">dtCrowdAgentDebugInfo</a> * </td>
|
|
<td class="paramname"><em>debug</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Updates the steering and positions of all agents. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>The time, in seconds, to update the simulation. [Limit: > 0] </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">debug</td><td>A debug object to load with debug information. [Opt] </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6ed4aa0026c21593daa9ea12c71f84c2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6ed4aa0026c21593daa9ea12c71f84c2">◆ </a></span>updateAgentParameters()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void dtCrowd::updateAgentParameters </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"><em>idx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structdtCrowdAgentParams.html">dtCrowdAgentParams</a> * </td>
|
|
<td class="paramname"><em>params</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Updates the specified agent's configuration. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The agent index. [Limits: 0 <= value < <a class="el" href="classdtCrowd.html#a87dc2372038ee12d9043a65737880b78" title="The maximum number of agents that can be managed by the object.">getAgentCount()</a>] </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>The new agent configuration. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li><a class="el" href="DetourCrowd_8h_source.html">DetourCrowd.h</a></li>
|
|
<li><a class="el" href="DetourCrowd_8cpp.html">DetourCrowd.cpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- HTML footer for doxygen 1.8.6-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="classdtCrowd.html">dtCrowd</a></li>
|
|
<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>
|