| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=11"/>
- <meta name="generator" content="Doxygen 1.12.0"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>Jolt Physics: BodyManager 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>
- <script type="text/javascript" src="clipboard.js"></script>
- <link href="navtree.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="navtreedata.js"></script>
- <script type="text/javascript" src="navtree.js"></script>
- <script type="text/javascript" src="resize.js"></script>
- <script type="text/javascript" src="cookie.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>
- <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- });
- </script>
- <script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr id="projectrow">
- <td id="projectlogo"><img alt="Logo" src="LogoSmall.png"/></td>
- <td id="projectalign">
- <div id="projectname">Jolt Physics
- </div>
- <div id="projectbrief">A multi core friendly Game Physics Engine</div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.12.0 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- var searchBox = new SearchBox("searchBox", "search/",'.html');
- /* @license-end */
- </script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function() { codefold.init(0); });
- /* @license-end */
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function() {
- initMenu('',true,false,'search.php','Search',true);
- $(function() { init_search(); });
- });
- /* @license-end */
- </script>
- <div id="main-nav"></div>
- </div><!-- top -->
- <div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
- </div>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function(){initNavTree('class_body_manager.html',''); initResizable(true); });
- /* @license-end */
- </script>
- <div id="doc-content">
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- </div>
- <!-- iframe showing the search results (closed by default) -->
- <div id="MSearchResultsWindow">
- <div id="MSearchResults">
- <div class="SRPage">
- <div id="SRIndex">
- <div id="SRResults"></div>
- <div class="SRStatus" id="Loading">Loading...</div>
- <div class="SRStatus" id="Searching">Searching...</div>
- <div class="SRStatus" id="NoMatches">No Matches</div>
- </div>
- </div>
- </div>
- </div>
- <div class="header">
- <div class="summary">
- <a href="#nested-classes">Classes</a> |
- <a href="#pub-types">Public Types</a> |
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pub-static-methods">Static Public Member Functions</a> |
- <a href="class_body_manager-members.html">List of all members</a> </div>
- <div class="headertitle"><div class="title">BodyManager Class Reference</div></div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <<a class="el" href="_body_manager_8h_source.html">BodyManager.h</a>></code></p>
- <div class="dynheader">
- Inheritance diagram for BodyManager:</div>
- <div class="dyncontent">
- <div class="center">
- <img src="class_body_manager.png" usemap="#BodyManager_map" alt=""/>
- <map id="BodyManager_map" name="BodyManager_map">
- <area href="class_non_copyable.html" title="Class that makes another class non-copyable. Usage: Inherit from NonCopyable." alt="NonCopyable" shape="rect" coords="0,0,92,24"/>
- </map>
- </div></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
- Classes</h2></td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_body_manager_1_1_body_stats.html">BodyStats</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper struct that counts the number of bodies of each type. <a href="struct_body_manager_1_1_body_stats.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="struct_body_manager_1_1_draw_settings.html">DrawSettings</a></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"><a id="pub-types" name="pub-types"></a>
- Public Types</h2></td></tr>
- <tr class="memitem:ae1f52f80ea3133d1b767f007f83350e2" id="r_ae1f52f80ea3133d1b767f007f83350e2"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2">EShapeColor</a> { <br />
-   <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2a99ee1c53265abeecfe720f4bc3fc44a6">InstanceColor</a>
- , <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2ae474501d8e6be0d0983214885896073a">ShapeTypeColor</a>
- , <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2ac415a727aec99b44707c3555b360c85b">MotionTypeColor</a>
- , <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2ac00cf17870a7f30bd11fb50ca2b66709">SleepColor</a>
- , <br />
-   <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2a3396ca60625ec56b88b34019e16d5121">IslandColor</a>
- , <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2ae4a9ebce3bde9cd56c2cccdf58d392a0">MaterialColor</a>
- <br />
- }</td></tr>
- <tr class="separator:ae1f52f80ea3133d1b767f007f83350e2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aee0d75a5176680f7c00728fa33cbe9e2" id="r_aee0d75a5176680f7c00728fa33cbe9e2"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> = <a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a></td></tr>
- <tr class="memdesc:aee0d75a5176680f7c00728fa33cbe9e2"><td class="mdescLeft"> </td><td class="mdescRight">Bodies are protected using an array of mutexes (so a fixed number, not 1 per body). Each bit in this mask indicates a locked mutex. <br /></td></tr>
- <tr class="separator:aee0d75a5176680f7c00728fa33cbe9e2"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr class="memitem:afad1dc5c74c430f9210a84e553d259ee" id="r_afad1dc5c74c430f9210a84e553d259ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_memory_8h.html#a91074fb218fe28954a0938c099ddd9e0">JPH_OVERRIDE_NEW_DELETE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#afad1dc5c74c430f9210a84e553d259ee">~BodyManager</a> ()</td></tr>
- <tr class="memdesc:afad1dc5c74c430f9210a84e553d259ee"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
- <tr class="separator:afad1dc5c74c430f9210a84e553d259ee"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2d0f5cce4bc65b5dd60e79edc37fd0d9" id="r_a2d0f5cce4bc65b5dd60e79edc37fd0d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2d0f5cce4bc65b5dd60e79edc37fd0d9">Init</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inMaxBodies, <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inNumBodyMutexes, const <a class="el" href="class_broad_phase_layer_interface.html">BroadPhaseLayerInterface</a> &inLayerInterface)</td></tr>
- <tr class="memdesc:a2d0f5cce4bc65b5dd60e79edc37fd0d9"><td class="mdescLeft"> </td><td class="mdescRight">Initialize the manager. <br /></td></tr>
- <tr class="separator:a2d0f5cce4bc65b5dd60e79edc37fd0d9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a28e008be233691bbccef7d17e20d113d" id="r_a28e008be233691bbccef7d17e20d113d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a28e008be233691bbccef7d17e20d113d">GetNumBodies</a> () const</td></tr>
- <tr class="memdesc:a28e008be233691bbccef7d17e20d113d"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current amount of bodies that are in the body manager. <br /></td></tr>
- <tr class="separator:a28e008be233691bbccef7d17e20d113d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad54b2a378ee3653de2130da1ab3f69a5" id="r_ad54b2a378ee3653de2130da1ab3f69a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad54b2a378ee3653de2130da1ab3f69a5">GetMaxBodies</a> () const</td></tr>
- <tr class="memdesc:ad54b2a378ee3653de2130da1ab3f69a5"><td class="mdescLeft"> </td><td class="mdescRight">Gets the max bodies that we can support. <br /></td></tr>
- <tr class="separator:ad54b2a378ee3653de2130da1ab3f69a5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a63c55f1d5d3ed30c4aa6a19ad14713ac" id="r_a63c55f1d5d3ed30c4aa6a19ad14713ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_body_manager_1_1_body_stats.html">BodyStats</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a63c55f1d5d3ed30c4aa6a19ad14713ac">GetBodyStats</a> () const</td></tr>
- <tr class="memdesc:a63c55f1d5d3ed30c4aa6a19ad14713ac"><td class="mdescLeft"> </td><td class="mdescRight">Get stats about the bodies in the body manager (slow, iterates through all bodies) <br /></td></tr>
- <tr class="separator:a63c55f1d5d3ed30c4aa6a19ad14713ac"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab90b6879d9b21e0301102dd1f5791cb2" id="r_ab90b6879d9b21e0301102dd1f5791cb2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body.html">Body</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab90b6879d9b21e0301102dd1f5791cb2">AllocateBody</a> (const <a class="el" href="class_body_creation_settings.html">BodyCreationSettings</a> &inBodyCreationSettings) const</td></tr>
- <tr class="memdesc:ab90b6879d9b21e0301102dd1f5791cb2"><td class="mdescLeft"> </td><td class="mdescRight">Create a body using creation settings. The returned body will not be part of the body manager yet. <br /></td></tr>
- <tr class="separator:ab90b6879d9b21e0301102dd1f5791cb2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a003634616068c3e51029c38e77de7fec" id="r_a003634616068c3e51029c38e77de7fec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body.html">Body</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a003634616068c3e51029c38e77de7fec">AllocateSoftBody</a> (const <a class="el" href="class_soft_body_creation_settings.html">SoftBodyCreationSettings</a> &inSoftBodyCreationSettings) const</td></tr>
- <tr class="memdesc:a003634616068c3e51029c38e77de7fec"><td class="mdescLeft"> </td><td class="mdescRight">Create a soft body using creation settings. The returned body will not be part of the body manager yet. <br /></td></tr>
- <tr class="separator:a003634616068c3e51029c38e77de7fec"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac9b3fea305ee74fb2cb1d70d4773aee0" id="r_ac9b3fea305ee74fb2cb1d70d4773aee0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac9b3fea305ee74fb2cb1d70d4773aee0">FreeBody</a> (<a class="el" href="class_body.html">Body</a> *inBody) const</td></tr>
- <tr class="memdesc:ac9b3fea305ee74fb2cb1d70d4773aee0"><td class="mdescLeft"> </td><td class="mdescRight">Free a body that has not been added to the body manager yet (if it has, use DestroyBodies). <br /></td></tr>
- <tr class="separator:ac9b3fea305ee74fb2cb1d70d4773aee0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa7e0cc82ef6c860655af523205fd9cb6" id="r_aa7e0cc82ef6c860655af523205fd9cb6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa7e0cc82ef6c860655af523205fd9cb6">AddBody</a> (<a class="el" href="class_body.html">Body</a> *ioBody)</td></tr>
- <tr class="memdesc:aa7e0cc82ef6c860655af523205fd9cb6"><td class="mdescLeft"> </td><td class="mdescRight">Add a body to the body manager, assigning it the next available ID. Returns false if no more IDs are available. <br /></td></tr>
- <tr class="separator:aa7e0cc82ef6c860655af523205fd9cb6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad8c3c4c7e6257244b81cfa8bc590149b" id="r_ad8c3c4c7e6257244b81cfa8bc590149b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8c3c4c7e6257244b81cfa8bc590149b">AddBodyWithCustomID</a> (<a class="el" href="class_body.html">Body</a> *ioBody, const <a class="el" href="class_body_i_d.html">BodyID</a> &inBodyID)</td></tr>
- <tr class="memdesc:ad8c3c4c7e6257244b81cfa8bc590149b"><td class="mdescLeft"> </td><td class="mdescRight">Add a body to the body manager, assigning it a custom ID. Returns false if the ID is not valid. <br /></td></tr>
- <tr class="separator:ad8c3c4c7e6257244b81cfa8bc590149b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2a65ea34748b9f3f354d4325f905ab1c" id="r_a2a65ea34748b9f3f354d4325f905ab1c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2a65ea34748b9f3f354d4325f905ab1c">RemoveBodies</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> *inBodyIDs, int inNumber, <a class="el" href="class_body.html">Body</a> **outBodies)</td></tr>
- <tr class="memdesc:a2a65ea34748b9f3f354d4325f905ab1c"><td class="mdescLeft"> </td><td class="mdescRight">Remove a list of bodies from the body manager. <br /></td></tr>
- <tr class="separator:a2a65ea34748b9f3f354d4325f905ab1c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5c0cc30ec7f2c4a5bcd1119906a6632e" id="r_a5c0cc30ec7f2c4a5bcd1119906a6632e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5c0cc30ec7f2c4a5bcd1119906a6632e">DestroyBodies</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> *inBodyIDs, int inNumber)</td></tr>
- <tr class="memdesc:a5c0cc30ec7f2c4a5bcd1119906a6632e"><td class="mdescLeft"> </td><td class="mdescRight">Remove a set of bodies from the body manager and frees them. <br /></td></tr>
- <tr class="separator:a5c0cc30ec7f2c4a5bcd1119906a6632e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aecdc4718d0c9ccf33f9eaf2a42c6ab79" id="r_aecdc4718d0c9ccf33f9eaf2a42c6ab79"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aecdc4718d0c9ccf33f9eaf2a42c6ab79">ActivateBodies</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> *inBodyIDs, int inNumber)</td></tr>
- <tr class="separator:aecdc4718d0c9ccf33f9eaf2a42c6ab79"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac8e13efcbe3e2fab505e2c9047f9d2ef" id="r_ac8e13efcbe3e2fab505e2c9047f9d2ef"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac8e13efcbe3e2fab505e2c9047f9d2ef">DeactivateBodies</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> *inBodyIDs, int inNumber)</td></tr>
- <tr class="separator:ac8e13efcbe3e2fab505e2c9047f9d2ef"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af449412eb723ffe93a193d9b9aa86f3b" id="r_af449412eb723ffe93a193d9b9aa86f3b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af449412eb723ffe93a193d9b9aa86f3b">SetMotionQuality</a> (<a class="el" href="class_body.html">Body</a> &ioBody, <a class="el" href="_motion_quality_8h.html#af43db3453103c2e62526f54dd8542d3a">EMotionQuality</a> inMotionQuality)</td></tr>
- <tr class="memdesc:af449412eb723ffe93a193d9b9aa86f3b"><td class="mdescLeft"> </td><td class="mdescRight">Update the motion quality for a body. <br /></td></tr>
- <tr class="separator:af449412eb723ffe93a193d9b9aa86f3b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aae54df1753149fbac33cb8ea6f930da7" id="r_aae54df1753149fbac33cb8ea6f930da7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aae54df1753149fbac33cb8ea6f930da7">GetActiveBodies</a> (<a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a> inType, <a class="el" href="_body_manager_8h.html#afc1c8d959352d66db407f29003a66bb8">BodyIDVector</a> &outBodyIDs) const</td></tr>
- <tr class="memdesc:aae54df1753149fbac33cb8ea6f930da7"><td class="mdescLeft"> </td><td class="mdescRight">Get copy of the list of active bodies under protection of a lock. <br /></td></tr>
- <tr class="separator:aae54df1753149fbac33cb8ea6f930da7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac646f95e699a7d4525d65407ee3bea69" id="r_ac646f95e699a7d4525d65407ee3bea69"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body_i_d.html">BodyID</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac646f95e699a7d4525d65407ee3bea69">GetActiveBodiesUnsafe</a> (<a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a> inType) const</td></tr>
- <tr class="memdesc:ac646f95e699a7d4525d65407ee3bea69"><td class="mdescLeft"> </td><td class="mdescRight">Get the list of active bodies. Note: Not thread safe. The active bodies list can change at any moment. <br /></td></tr>
- <tr class="separator:ac646f95e699a7d4525d65407ee3bea69"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afc847edf3623bce165d4c872f0dc4d68" id="r_afc847edf3623bce165d4c872f0dc4d68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#afc847edf3623bce165d4c872f0dc4d68">GetNumActiveBodies</a> (<a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a> inType) const</td></tr>
- <tr class="memdesc:afc847edf3623bce165d4c872f0dc4d68"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of active bodies. <br /></td></tr>
- <tr class="separator:afc847edf3623bce165d4c872f0dc4d68"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a462f40b51e2bbdae500c62584d0376be" id="r_a462f40b51e2bbdae500c62584d0376be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a462f40b51e2bbdae500c62584d0376be">GetNumActiveCCDBodies</a> () const</td></tr>
- <tr class="memdesc:a462f40b51e2bbdae500c62584d0376be"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of active bodies that are using continuous collision detection. <br /></td></tr>
- <tr class="separator:a462f40b51e2bbdae500c62584d0376be"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5f4202f0ef087177b642a93c13d82d9a" id="r_a5f4202f0ef087177b642a93c13d82d9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f4202f0ef087177b642a93c13d82d9a">SetBodyActivationListener</a> (<a class="el" href="class_body_activation_listener.html">BodyActivationListener</a> *inListener)</td></tr>
- <tr class="memdesc:a5f4202f0ef087177b642a93c13d82d9a"><td class="mdescLeft"> </td><td class="mdescRight">Listener that is notified whenever a body is activated/deactivated. <br /></td></tr>
- <tr class="separator:a5f4202f0ef087177b642a93c13d82d9a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3bb9c3e62332a39fd9ac1eac4c12ca52" id="r_a3bb9c3e62332a39fd9ac1eac4c12ca52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_activation_listener.html">BodyActivationListener</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3bb9c3e62332a39fd9ac1eac4c12ca52">GetBodyActivationListener</a> () const</td></tr>
- <tr class="separator:a3bb9c3e62332a39fd9ac1eac4c12ca52"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac6c6a208195a666e62fc3bd9c4456bfa" id="r_ac6c6a208195a666e62fc3bd9c4456bfa"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="_body_manager_8h.html#ae4e246af993ca15dd65cd797e6bf7640">BodyVector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac6c6a208195a666e62fc3bd9c4456bfa">GetBodies</a> () const</td></tr>
- <tr class="memdesc:ac6c6a208195a666e62fc3bd9c4456bfa"><td class="mdescLeft"> </td><td class="mdescRight">Get all bodies. Note that this can contain invalid body pointers, call sIsValidBodyPointer to check. <br /></td></tr>
- <tr class="separator:ac6c6a208195a666e62fc3bd9c4456bfa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ace4bb400f2a6b4f17e04aa10134dee4f" id="r_ace4bb400f2a6b4f17e04aa10134dee4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_body_manager_8h.html#ae4e246af993ca15dd65cd797e6bf7640">BodyVector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ace4bb400f2a6b4f17e04aa10134dee4f">GetBodies</a> ()</td></tr>
- <tr class="memdesc:ace4bb400f2a6b4f17e04aa10134dee4f"><td class="mdescLeft"> </td><td class="mdescRight">Get all bodies. Note that this can contain invalid body pointers, call sIsValidBodyPointer to check. <br /></td></tr>
- <tr class="separator:ace4bb400f2a6b4f17e04aa10134dee4f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa65000b18f18a1d02bf432446dff7c05" id="r_aa65000b18f18a1d02bf432446dff7c05"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa65000b18f18a1d02bf432446dff7c05">GetBodyIDs</a> (<a class="el" href="_body_manager_8h.html#afc1c8d959352d66db407f29003a66bb8">BodyIDVector</a> &outBodies) const</td></tr>
- <tr class="memdesc:aa65000b18f18a1d02bf432446dff7c05"><td class="mdescLeft"> </td><td class="mdescRight">Get all body IDs under the protection of a lock. <br /></td></tr>
- <tr class="separator:aa65000b18f18a1d02bf432446dff7c05"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae89bc88048a56cbf21d70e78ec142a18" id="r_ae89bc88048a56cbf21d70e78ec142a18"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body.html">Body</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae89bc88048a56cbf21d70e78ec142a18">GetBody</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inID) const</td></tr>
- <tr class="memdesc:ae89bc88048a56cbf21d70e78ec142a18"><td class="mdescLeft"> </td><td class="mdescRight">Access a body (not protected by lock) <br /></td></tr>
- <tr class="separator:ae89bc88048a56cbf21d70e78ec142a18"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2ac7db2095cb425b04bdad508e2acc4f" id="r_a2ac7db2095cb425b04bdad508e2acc4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body.html">Body</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ac7db2095cb425b04bdad508e2acc4f">GetBody</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inID)</td></tr>
- <tr class="memdesc:a2ac7db2095cb425b04bdad508e2acc4f"><td class="mdescLeft"> </td><td class="mdescRight">Access a body (not protected by lock) <br /></td></tr>
- <tr class="separator:a2ac7db2095cb425b04bdad508e2acc4f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac441f5d6015c113423972740f3e2815f" id="r_ac441f5d6015c113423972740f3e2815f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body.html">Body</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac441f5d6015c113423972740f3e2815f">TryGetBody</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inID) const</td></tr>
- <tr class="memdesc:ac441f5d6015c113423972740f3e2815f"><td class="mdescLeft"> </td><td class="mdescRight">Access a body, will return a nullptr if the body ID is no longer valid (not protected by lock) <br /></td></tr>
- <tr class="separator:ac441f5d6015c113423972740f3e2815f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a57535e1d1645cc00b57fb7e8ecccc259" id="r_a57535e1d1645cc00b57fb7e8ecccc259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body.html">Body</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a57535e1d1645cc00b57fb7e8ecccc259">TryGetBody</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inID)</td></tr>
- <tr class="memdesc:a57535e1d1645cc00b57fb7e8ecccc259"><td class="mdescLeft"> </td><td class="mdescRight">Access a body, will return a nullptr if the body ID is no longer valid (not protected by lock) <br /></td></tr>
- <tr class="separator:a57535e1d1645cc00b57fb7e8ecccc259"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a608703b173fa10233dfd617150a2db67" id="r_a608703b173fa10233dfd617150a2db67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_shared_mutex.html">SharedMutex</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a608703b173fa10233dfd617150a2db67">GetMutexForBody</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inID) const</td></tr>
- <tr class="memdesc:a608703b173fa10233dfd617150a2db67"><td class="mdescLeft"> </td><td class="mdescRight">Access the mutex for a single body. <br /></td></tr>
- <tr class="separator:a608703b173fa10233dfd617150a2db67"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a425eaf59b68a237d6821267ed1474f35" id="r_a425eaf59b68a237d6821267ed1474f35"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a425eaf59b68a237d6821267ed1474f35">LockAllBodies</a> () const</td></tr>
- <tr class="memdesc:a425eaf59b68a237d6821267ed1474f35"><td class="mdescLeft"> </td><td class="mdescRight">Lock all bodies. This should only be done during <a class="el" href="class_physics_system.html#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update()</a>. <br /></td></tr>
- <tr class="separator:a425eaf59b68a237d6821267ed1474f35"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5bfccfc12e83e13bc8ed0ceacff6ccc3" id="r_a5bfccfc12e83e13bc8ed0ceacff6ccc3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5bfccfc12e83e13bc8ed0ceacff6ccc3">UnlockAllBodies</a> () const</td></tr>
- <tr class="memdesc:a5bfccfc12e83e13bc8ed0ceacff6ccc3"><td class="mdescLeft"> </td><td class="mdescRight">Unlock all bodies. This should only be done during <a class="el" href="class_physics_system.html#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update()</a>. <br /></td></tr>
- <tr class="separator:a5bfccfc12e83e13bc8ed0ceacff6ccc3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae42a0183320aaebe459af6b0cc937daf" id="r_ae42a0183320aaebe459af6b0cc937daf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae42a0183320aaebe459af6b0cc937daf">SetBodyObjectLayerInternal</a> (<a class="el" href="class_body.html">Body</a> &ioBody, <a class="el" href="_object_layer_8h.html#a960eb396e2803ddad87bf25e0dcb4470">ObjectLayer</a> inLayer) const</td></tr>
- <tr class="memdesc:ae42a0183320aaebe459af6b0cc937daf"><td class="mdescLeft"> </td><td class="mdescRight">Function to update body's layer (should only be called by the <a class="el" href="class_body_interface.html">BodyInterface</a> since it also requires updating the broadphase) <br /></td></tr>
- <tr class="separator:ae42a0183320aaebe459af6b0cc937daf"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2d9975b3a1fb311c3956820eae65b7ce" id="r_a2d9975b3a1fb311c3956820eae65b7ce"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2d9975b3a1fb311c3956820eae65b7ce">InvalidateContactCacheForBody</a> (<a class="el" href="class_body.html">Body</a> &ioBody)</td></tr>
- <tr class="memdesc:a2d9975b3a1fb311c3956820eae65b7ce"><td class="mdescLeft"> </td><td class="mdescRight">Set the Body::EFlags::InvalidateContactCache flag for the specified body. This means that the collision cache is invalid for any body pair involving that body until the next physics step. <br /></td></tr>
- <tr class="separator:a2d9975b3a1fb311c3956820eae65b7ce"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4e5f1bfab762cd561b21320d97ef0594" id="r_a4e5f1bfab762cd561b21320d97ef0594"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4e5f1bfab762cd561b21320d97ef0594">ValidateContactCacheForAllBodies</a> ()</td></tr>
- <tr class="memdesc:a4e5f1bfab762cd561b21320d97ef0594"><td class="mdescLeft"> </td><td class="mdescRight">Reset the Body::EFlags::InvalidateContactCache flag for all bodies. All contact pairs in the contact cache will now by valid again. <br /></td></tr>
- <tr class="separator:a4e5f1bfab762cd561b21320d97ef0594"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5fcbaca9d9a52129a56451ce519e9598" id="r_a5fcbaca9d9a52129a56451ce519e9598"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5fcbaca9d9a52129a56451ce519e9598">SaveState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream, const <a class="el" href="class_state_recorder_filter.html">StateRecorderFilter</a> *inFilter) const</td></tr>
- <tr class="memdesc:a5fcbaca9d9a52129a56451ce519e9598"><td class="mdescLeft"> </td><td class="mdescRight">Saving state for replay. <br /></td></tr>
- <tr class="separator:a5fcbaca9d9a52129a56451ce519e9598"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af64512a91a78f48a75c5cead5552e281" id="r_af64512a91a78f48a75c5cead5552e281"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#af64512a91a78f48a75c5cead5552e281">RestoreState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream)</td></tr>
- <tr class="memdesc:af64512a91a78f48a75c5cead5552e281"><td class="mdescLeft"> </td><td class="mdescRight">Restoring state for replay. Returns false if failed. <br /></td></tr>
- <tr class="separator:af64512a91a78f48a75c5cead5552e281"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab1eb2a2bbf12bbe839475093826b6ceb" id="r_ab1eb2a2bbf12bbe839475093826b6ceb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1eb2a2bbf12bbe839475093826b6ceb">SaveBodyState</a> (const <a class="el" href="class_body.html">Body</a> &inBody, <a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream) const</td></tr>
- <tr class="memdesc:ab1eb2a2bbf12bbe839475093826b6ceb"><td class="mdescLeft"> </td><td class="mdescRight">Save the state of a single body for replay. <br /></td></tr>
- <tr class="separator:ab1eb2a2bbf12bbe839475093826b6ceb"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad1de147dfb454f5963629a98489c1159" id="r_ad1de147dfb454f5963629a98489c1159"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad1de147dfb454f5963629a98489c1159">RestoreBodyState</a> (<a class="el" href="class_body.html">Body</a> &inBody, <a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream)</td></tr>
- <tr class="memdesc:ad1de147dfb454f5963629a98489c1159"><td class="mdescLeft"> </td><td class="mdescRight">Save the state of a single body for replay. <br /></td></tr>
- <tr class="separator:ad1de147dfb454f5963629a98489c1159"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a877463f0189e8e131edec5d83413726b" id="r_a877463f0189e8e131edec5d83413726b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a877463f0189e8e131edec5d83413726b">Draw</a> (const <a class="el" href="struct_body_manager_1_1_draw_settings.html">DrawSettings</a> &inSettings, const <a class="el" href="struct_physics_settings.html">PhysicsSettings</a> &inPhysicsSettings, <a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer, const <a class="el" href="class_body_draw_filter.html">BodyDrawFilter</a> *inBodyFilter=nullptr)</td></tr>
- <tr class="memdesc:a877463f0189e8e131edec5d83413726b"><td class="mdescLeft"> </td><td class="mdescRight">Draw the state of the bodies (debugging purposes) <br /></td></tr>
- <tr class="separator:a877463f0189e8e131edec5d83413726b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr><td colspan="2"><div class="groupHeader">Batch body mutex access (do not use directly)</div></td></tr>
- <tr class="memitem:a4e54107c92d7ac62098e267ab8d16eb2" id="r_a4e54107c92d7ac62098e267ab8d16eb2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4e54107c92d7ac62098e267ab8d16eb2">GetAllBodiesMutexMask</a> () const</td></tr>
- <tr class="separator:a4e54107c92d7ac62098e267ab8d16eb2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a447a132451ef5c4def8e0c51450b2701" id="r_a447a132451ef5c4def8e0c51450b2701"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a447a132451ef5c4def8e0c51450b2701">GetMutexMask</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> *inBodies, int inNumber) const</td></tr>
- <tr class="separator:a447a132451ef5c4def8e0c51450b2701"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab9fe4438ea3c96fa4b2cbc724f425024" id="r_ab9fe4438ea3c96fa4b2cbc724f425024"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab9fe4438ea3c96fa4b2cbc724f425024">LockRead</a> (<a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> inMutexMask) const</td></tr>
- <tr class="separator:ab9fe4438ea3c96fa4b2cbc724f425024"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3cfb772a46e7495234f6f14bff09ba99" id="r_a3cfb772a46e7495234f6f14bff09ba99"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3cfb772a46e7495234f6f14bff09ba99">UnlockRead</a> (<a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> inMutexMask) const</td></tr>
- <tr class="separator:a3cfb772a46e7495234f6f14bff09ba99"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a21232e25b634203c299d6192180b6fe6" id="r_a21232e25b634203c299d6192180b6fe6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a21232e25b634203c299d6192180b6fe6">LockWrite</a> (<a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> inMutexMask) const</td></tr>
- <tr class="separator:a21232e25b634203c299d6192180b6fe6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a27ee56a1128b6d9df49d56ea8308d95b" id="r_a27ee56a1128b6d9df49d56ea8308d95b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a27ee56a1128b6d9df49d56ea8308d95b">UnlockWrite</a> (<a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> inMutexMask) const</td></tr>
- <tr class="separator:a27ee56a1128b6d9df49d56ea8308d95b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_non_copyable"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_non_copyable')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_non_copyable.html">NonCopyable</a></td></tr>
- <tr class="memitem:a809b6e4ade7ae32f6d248f2a3b783d45 inherit pub_methods_class_non_copyable" id="r_a809b6e4ade7ae32f6d248f2a3b783d45"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_non_copyable.html#a809b6e4ade7ae32f6d248f2a3b783d45">NonCopyable</a> ()=default</td></tr>
- <tr class="separator:a809b6e4ade7ae32f6d248f2a3b783d45 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a501d34ffcc34b30de6d541887a901057 inherit pub_methods_class_non_copyable" id="r_a501d34ffcc34b30de6d541887a901057"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_non_copyable.html#a501d34ffcc34b30de6d541887a901057">NonCopyable</a> (const <a class="el" href="class_non_copyable.html">NonCopyable</a> &)=delete</td></tr>
- <tr class="separator:a501d34ffcc34b30de6d541887a901057 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aaf9b12dcaae80c9d304df7a941d4e21f inherit pub_methods_class_non_copyable" id="r_aaf9b12dcaae80c9d304df7a941d4e21f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_non_copyable.html#aaf9b12dcaae80c9d304df7a941d4e21f">operator=</a> (const <a class="el" href="class_non_copyable.html">NonCopyable</a> &)=delete</td></tr>
- <tr class="separator:aaf9b12dcaae80c9d304df7a941d4e21f inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
- Static Public Member Functions</h2></td></tr>
- <tr class="memitem:a2a95afcef6b2166321d1ba21dce19158" id="r_a2a95afcef6b2166321d1ba21dce19158"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2a95afcef6b2166321d1ba21dce19158">sIsValidBodyPointer</a> (const <a class="el" href="class_body.html">Body</a> *inBody)</td></tr>
- <tr class="memdesc:a2a95afcef6b2166321d1ba21dce19158"><td class="mdescLeft"> </td><td class="mdescRight">Check if this is a valid body pointer. When a body is freed the memory that the pointer occupies is reused to store a freelist. <br /></td></tr>
- <tr class="separator:a2a95afcef6b2166321d1ba21dce19158"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Class that contains all bodies</p>
- <p>WARNING: This class is an internal part of <a class="el" href="class_physics_system.html">PhysicsSystem</a>, it has no functions that can be called by users of the library. Its functionality is exposed through <a class="el" href="class_physics_system.html">PhysicsSystem</a>, <a class="el" href="class_body_interface.html">BodyInterface</a>, <a class="el" href="class_body_lock_read.html">BodyLockRead</a> and <a class="el" href="class_body_lock_write.html" title="Specialization that locks a body for writing to.">BodyLockWrite</a>. </p>
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
- <a id="aee0d75a5176680f7c00728fa33cbe9e2" name="aee0d75a5176680f7c00728fa33cbe9e2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aee0d75a5176680f7c00728fa33cbe9e2">◆ </a></span>MutexMask</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">BodyManager::MutexMask</a> = <a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Bodies are protected using an array of mutexes (so a fixed number, not 1 per body). Each bit in this mask indicates a locked mutex. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Enumeration Documentation</h2>
- <a id="ae1f52f80ea3133d1b767f007f83350e2" name="ae1f52f80ea3133d1b767f007f83350e2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae1f52f80ea3133d1b767f007f83350e2">◆ </a></span>EShapeColor</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">enum class <a class="el" href="#ae1f52f80ea3133d1b767f007f83350e2">BodyManager::EShapeColor</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">strong</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae1f52f80ea3133d1b767f007f83350e2a99ee1c53265abeecfe720f4bc3fc44a6" name="ae1f52f80ea3133d1b767f007f83350e2a99ee1c53265abeecfe720f4bc3fc44a6"></a>InstanceColor </td><td class="fielddoc"><p>Random color per instance. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="ae1f52f80ea3133d1b767f007f83350e2ae474501d8e6be0d0983214885896073a" name="ae1f52f80ea3133d1b767f007f83350e2ae474501d8e6be0d0983214885896073a"></a>ShapeTypeColor </td><td class="fielddoc"><p>Convex = green, scaled = yellow, compound = orange, mesh = red. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="ae1f52f80ea3133d1b767f007f83350e2ac415a727aec99b44707c3555b360c85b" name="ae1f52f80ea3133d1b767f007f83350e2ac415a727aec99b44707c3555b360c85b"></a>MotionTypeColor </td><td class="fielddoc"><p>Static = grey, keyframed = green, dynamic = random color per instance. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="ae1f52f80ea3133d1b767f007f83350e2ac00cf17870a7f30bd11fb50ca2b66709" name="ae1f52f80ea3133d1b767f007f83350e2ac00cf17870a7f30bd11fb50ca2b66709"></a>SleepColor </td><td class="fielddoc"><p>Static = grey, keyframed = green, dynamic = yellow, sleeping = red. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="ae1f52f80ea3133d1b767f007f83350e2a3396ca60625ec56b88b34019e16d5121" name="ae1f52f80ea3133d1b767f007f83350e2a3396ca60625ec56b88b34019e16d5121"></a>IslandColor </td><td class="fielddoc"><p>Static = grey, active = random color per island, sleeping = light grey. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="ae1f52f80ea3133d1b767f007f83350e2ae4a9ebce3bde9cd56c2cccdf58d392a0" name="ae1f52f80ea3133d1b767f007f83350e2ae4a9ebce3bde9cd56c2cccdf58d392a0"></a>MaterialColor </td><td class="fielddoc"><p><a class="el" href="class_color.html" title="Class that holds an RGBA color with 8-bits per component.">Color</a> as defined by the <a class="el" href="class_physics_material.html">PhysicsMaterial</a> of the shape. </p>
- </td></tr>
- </table>
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="afad1dc5c74c430f9210a84e553d259ee" name="afad1dc5c74c430f9210a84e553d259ee"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afad1dc5c74c430f9210a84e553d259ee">◆ </a></span>~BodyManager()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">BodyManager::~BodyManager </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Destructor. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="aecdc4718d0c9ccf33f9eaf2a42c6ab79" name="aecdc4718d0c9ccf33f9eaf2a42c6ab79"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aecdc4718d0c9ccf33f9eaf2a42c6ab79">◆ </a></span>ActivateBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::ActivateBodies </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> *</td> <td class="paramname"><span class="paramname"><em>inBodyIDs</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inNumber</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Activate a list of bodies. This function should only be called when an exclusive lock for the bodies are held. </p>
- </div>
- </div>
- <a id="aa7e0cc82ef6c860655af523205fd9cb6" name="aa7e0cc82ef6c860655af523205fd9cb6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa7e0cc82ef6c860655af523205fd9cb6">◆ </a></span>AddBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool BodyManager::AddBody </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> *</td> <td class="paramname"><span class="paramname"><em>ioBody</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Add a body to the body manager, assigning it the next available ID. Returns false if no more IDs are available. </p>
- </div>
- </div>
- <a id="ad8c3c4c7e6257244b81cfa8bc590149b" name="ad8c3c4c7e6257244b81cfa8bc590149b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad8c3c4c7e6257244b81cfa8bc590149b">◆ </a></span>AddBodyWithCustomID()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool BodyManager::AddBodyWithCustomID </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> *</td> <td class="paramname"><span class="paramname"><em>ioBody</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyID</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Add a body to the body manager, assigning it a custom ID. Returns false if the ID is not valid. </p>
- </div>
- </div>
- <a id="ab90b6879d9b21e0301102dd1f5791cb2" name="ab90b6879d9b21e0301102dd1f5791cb2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab90b6879d9b21e0301102dd1f5791cb2">◆ </a></span>AllocateBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_body.html">Body</a> * BodyManager::AllocateBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_creation_settings.html">BodyCreationSettings</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyCreationSettings</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Create a body using creation settings. The returned body will not be part of the body manager yet. </p>
- </div>
- </div>
- <a id="a003634616068c3e51029c38e77de7fec" name="a003634616068c3e51029c38e77de7fec"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a003634616068c3e51029c38e77de7fec">◆ </a></span>AllocateSoftBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_body.html">Body</a> * BodyManager::AllocateSoftBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_soft_body_creation_settings.html">SoftBodyCreationSettings</a> &</td> <td class="paramname"><span class="paramname"><em>inSoftBodyCreationSettings</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Create a soft body using creation settings. The returned body will not be part of the body manager yet. </p>
- </div>
- </div>
- <a id="ac8e13efcbe3e2fab505e2c9047f9d2ef" name="ac8e13efcbe3e2fab505e2c9047f9d2ef"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac8e13efcbe3e2fab505e2c9047f9d2ef">◆ </a></span>DeactivateBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::DeactivateBodies </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> *</td> <td class="paramname"><span class="paramname"><em>inBodyIDs</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inNumber</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Deactivate a list of bodies. This function should only be called when an exclusive lock for the bodies are held. </p>
- </div>
- </div>
- <a id="a5c0cc30ec7f2c4a5bcd1119906a6632e" name="a5c0cc30ec7f2c4a5bcd1119906a6632e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5c0cc30ec7f2c4a5bcd1119906a6632e">◆ </a></span>DestroyBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::DestroyBodies </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> *</td> <td class="paramname"><span class="paramname"><em>inBodyIDs</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inNumber</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Remove a set of bodies from the body manager and frees them. </p>
- </div>
- </div>
- <a id="a877463f0189e8e131edec5d83413726b" name="a877463f0189e8e131edec5d83413726b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a877463f0189e8e131edec5d83413726b">◆ </a></span>Draw()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::Draw </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="struct_body_manager_1_1_draw_settings.html">DrawSettings</a> &</td> <td class="paramname"><span class="paramname"><em>inSettings</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="struct_physics_settings.html">PhysicsSettings</a> &</td> <td class="paramname"><span class="paramname"><em>inPhysicsSettings</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_debug_renderer.html">DebugRenderer</a> *</td> <td class="paramname"><span class="paramname"><em>inRenderer</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_draw_filter.html">BodyDrawFilter</a> *</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Draw the state of the bodies (debugging purposes) </p>
- </div>
- </div>
- <a id="ac9b3fea305ee74fb2cb1d70d4773aee0" name="ac9b3fea305ee74fb2cb1d70d4773aee0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac9b3fea305ee74fb2cb1d70d4773aee0">◆ </a></span>FreeBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::FreeBody </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> *</td> <td class="paramname"><span class="paramname"><em>inBody</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Free a body that has not been added to the body manager yet (if it has, use DestroyBodies). </p>
- </div>
- </div>
- <a id="aae54df1753149fbac33cb8ea6f930da7" name="aae54df1753149fbac33cb8ea6f930da7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aae54df1753149fbac33cb8ea6f930da7">◆ </a></span>GetActiveBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::GetActiveBodies </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a></td> <td class="paramname"><span class="paramname"><em>inType</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_body_manager_8h.html#afc1c8d959352d66db407f29003a66bb8">BodyIDVector</a> &</td> <td class="paramname"><span class="paramname"><em>outBodyIDs</em></span> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get copy of the list of active bodies under protection of a lock. </p>
- </div>
- </div>
- <a id="ac646f95e699a7d4525d65407ee3bea69" name="ac646f95e699a7d4525d65407ee3bea69"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac646f95e699a7d4525d65407ee3bea69">◆ </a></span>GetActiveBodiesUnsafe()</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="class_body_i_d.html">BodyID</a> * BodyManager::GetActiveBodiesUnsafe </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a></td> <td class="paramname"><span class="paramname"><em>inType</em></span></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>Get the list of active bodies. Note: Not thread safe. The active bodies list can change at any moment. </p>
- </div>
- </div>
- <a id="a4e54107c92d7ac62098e267ab8d16eb2" name="a4e54107c92d7ac62098e267ab8d16eb2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4e54107c92d7ac62098e267ab8d16eb2">◆ </a></span>GetAllBodiesMutexMask()</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="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a> BodyManager::GetAllBodiesMutexMask </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></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">
- </div>
- </div>
- <a id="ace4bb400f2a6b4f17e04aa10134dee4f" name="ace4bb400f2a6b4f17e04aa10134dee4f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ace4bb400f2a6b4f17e04aa10134dee4f">◆ </a></span>GetBodies() <span class="overload">[1/2]</span></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="_body_manager_8h.html#ae4e246af993ca15dd65cd797e6bf7640">BodyVector</a> & BodyManager::GetBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></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>Get all bodies. Note that this can contain invalid body pointers, call sIsValidBodyPointer to check. </p>
- </div>
- </div>
- <a id="ac6c6a208195a666e62fc3bd9c4456bfa" name="ac6c6a208195a666e62fc3bd9c4456bfa"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac6c6a208195a666e62fc3bd9c4456bfa">◆ </a></span>GetBodies() <span class="overload">[2/2]</span></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="_body_manager_8h.html#ae4e246af993ca15dd65cd797e6bf7640">BodyVector</a> & BodyManager::GetBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></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>Get all bodies. Note that this can contain invalid body pointers, call sIsValidBodyPointer to check. </p>
- </div>
- </div>
- <a id="a2ac7db2095cb425b04bdad508e2acc4f" name="a2ac7db2095cb425b04bdad508e2acc4f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2ac7db2095cb425b04bdad508e2acc4f">◆ </a></span>GetBody() <span class="overload">[1/2]</span></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="class_body.html">Body</a> & BodyManager::GetBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &</td> <td class="paramname"><span class="paramname"><em>inID</em></span></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>Access a body (not protected by lock) </p>
- </div>
- </div>
- <a id="ae89bc88048a56cbf21d70e78ec142a18" name="ae89bc88048a56cbf21d70e78ec142a18"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae89bc88048a56cbf21d70e78ec142a18">◆ </a></span>GetBody() <span class="overload">[2/2]</span></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="class_body.html">Body</a> & BodyManager::GetBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &</td> <td class="paramname"><span class="paramname"><em>inID</em></span></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>Access a body (not protected by lock) </p>
- </div>
- </div>
- <a id="a3bb9c3e62332a39fd9ac1eac4c12ca52" name="a3bb9c3e62332a39fd9ac1eac4c12ca52"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3bb9c3e62332a39fd9ac1eac4c12ca52">◆ </a></span>GetBodyActivationListener()</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="class_body_activation_listener.html">BodyActivationListener</a> * BodyManager::GetBodyActivationListener </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></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">
- </div>
- </div>
- <a id="aa65000b18f18a1d02bf432446dff7c05" name="aa65000b18f18a1d02bf432446dff7c05"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa65000b18f18a1d02bf432446dff7c05">◆ </a></span>GetBodyIDs()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::GetBodyIDs </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_body_manager_8h.html#afc1c8d959352d66db407f29003a66bb8">BodyIDVector</a> &</td> <td class="paramname"><span class="paramname"><em>outBodies</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get all body IDs under the protection of a lock. </p>
- </div>
- </div>
- <a id="a63c55f1d5d3ed30c4aa6a19ad14713ac" name="a63c55f1d5d3ed30c4aa6a19ad14713ac"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a63c55f1d5d3ed30c4aa6a19ad14713ac">◆ </a></span>GetBodyStats()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="struct_body_manager_1_1_body_stats.html">BodyManager::BodyStats</a> BodyManager::GetBodyStats </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get stats about the bodies in the body manager (slow, iterates through all bodies) </p>
- </div>
- </div>
- <a id="ad54b2a378ee3653de2130da1ab3f69a5" name="ad54b2a378ee3653de2130da1ab3f69a5"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad54b2a378ee3653de2130da1ab3f69a5">◆ </a></span>GetMaxBodies()</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="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> BodyManager::GetMaxBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></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 max bodies that we can support. </p>
- </div>
- </div>
- <a id="a608703b173fa10233dfd617150a2db67" name="a608703b173fa10233dfd617150a2db67"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a608703b173fa10233dfd617150a2db67">◆ </a></span>GetMutexForBody()</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="class_shared_mutex.html">SharedMutex</a> & BodyManager::GetMutexForBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &</td> <td class="paramname"><span class="paramname"><em>inID</em></span></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>Access the mutex for a single body. </p>
- </div>
- </div>
- <a id="a447a132451ef5c4def8e0c51450b2701" name="a447a132451ef5c4def8e0c51450b2701"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a447a132451ef5c4def8e0c51450b2701">◆ </a></span>GetMutexMask()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">BodyManager::MutexMask</a> BodyManager::GetMutexMask </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> *</td> <td class="paramname"><span class="paramname"><em>inBodies</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inNumber</em></span> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="afc847edf3623bce165d4c872f0dc4d68" name="afc847edf3623bce165d4c872f0dc4d68"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afc847edf3623bce165d4c872f0dc4d68">◆ </a></span>GetNumActiveBodies()</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="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> BodyManager::GetNumActiveBodies </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a></td> <td class="paramname"><span class="paramname"><em>inType</em></span></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>Get the number of active bodies. </p>
- </div>
- </div>
- <a id="a462f40b51e2bbdae500c62584d0376be" name="a462f40b51e2bbdae500c62584d0376be"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a462f40b51e2bbdae500c62584d0376be">◆ </a></span>GetNumActiveCCDBodies()</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="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> BodyManager::GetNumActiveCCDBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></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>Get the number of active bodies that are using continuous collision detection. </p>
- </div>
- </div>
- <a id="a28e008be233691bbccef7d17e20d113d" name="a28e008be233691bbccef7d17e20d113d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a28e008be233691bbccef7d17e20d113d">◆ </a></span>GetNumBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> BodyManager::GetNumBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Gets the current amount of bodies that are in the body manager. </p>
- </div>
- </div>
- <a id="a2d0f5cce4bc65b5dd60e79edc37fd0d9" name="a2d0f5cce4bc65b5dd60e79edc37fd0d9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2d0f5cce4bc65b5dd60e79edc37fd0d9">◆ </a></span>Init()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::Init </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inMaxBodies</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inNumBodyMutexes</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_interface.html">BroadPhaseLayerInterface</a> &</td> <td class="paramname"><span class="paramname"><em>inLayerInterface</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initialize the manager. </p>
- </div>
- </div>
- <a id="a2d9975b3a1fb311c3956820eae65b7ce" name="a2d9975b3a1fb311c3956820eae65b7ce"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2d9975b3a1fb311c3956820eae65b7ce">◆ </a></span>InvalidateContactCacheForBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::InvalidateContactCacheForBody </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>ioBody</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set the Body::EFlags::InvalidateContactCache flag for the specified body. This means that the collision cache is invalid for any body pair involving that body until the next physics step. </p>
- </div>
- </div>
- <a id="a425eaf59b68a237d6821267ed1474f35" name="a425eaf59b68a237d6821267ed1474f35"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a425eaf59b68a237d6821267ed1474f35">◆ </a></span>LockAllBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::LockAllBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Lock all bodies. This should only be done during <a class="el" href="class_physics_system.html#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update()</a>. </p>
- </div>
- </div>
- <a id="ab9fe4438ea3c96fa4b2cbc724f425024" name="ab9fe4438ea3c96fa4b2cbc724f425024"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab9fe4438ea3c96fa4b2cbc724f425024">◆ </a></span>LockRead()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::LockRead </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a></td> <td class="paramname"><span class="paramname"><em>inMutexMask</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a21232e25b634203c299d6192180b6fe6" name="a21232e25b634203c299d6192180b6fe6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a21232e25b634203c299d6192180b6fe6">◆ </a></span>LockWrite()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::LockWrite </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a></td> <td class="paramname"><span class="paramname"><em>inMutexMask</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a2a65ea34748b9f3f354d4325f905ab1c" name="a2a65ea34748b9f3f354d4325f905ab1c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2a65ea34748b9f3f354d4325f905ab1c">◆ </a></span>RemoveBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::RemoveBodies </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> *</td> <td class="paramname"><span class="paramname"><em>inBodyIDs</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inNumber</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> **</td> <td class="paramname"><span class="paramname"><em>outBodies</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Remove a list of bodies from the body manager. </p>
- </div>
- </div>
- <a id="ad1de147dfb454f5963629a98489c1159" name="ad1de147dfb454f5963629a98489c1159"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad1de147dfb454f5963629a98489c1159">◆ </a></span>RestoreBodyState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::RestoreBodyState </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>inBody</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &</td> <td class="paramname"><span class="paramname"><em>inStream</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Save the state of a single body for replay. </p>
- </div>
- </div>
- <a id="af64512a91a78f48a75c5cead5552e281" name="af64512a91a78f48a75c5cead5552e281"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af64512a91a78f48a75c5cead5552e281">◆ </a></span>RestoreState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool BodyManager::RestoreState </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Restoring state for replay. Returns false if failed. </p>
- </div>
- </div>
- <a id="ab1eb2a2bbf12bbe839475093826b6ceb" name="ab1eb2a2bbf12bbe839475093826b6ceb"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab1eb2a2bbf12bbe839475093826b6ceb">◆ </a></span>SaveBodyState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::SaveBodyState </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>inBody</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &</td> <td class="paramname"><span class="paramname"><em>inStream</em></span> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Save the state of a single body for replay. </p>
- </div>
- </div>
- <a id="a5fcbaca9d9a52129a56451ce519e9598" name="a5fcbaca9d9a52129a56451ce519e9598"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5fcbaca9d9a52129a56451ce519e9598">◆ </a></span>SaveState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::SaveState </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &</td> <td class="paramname"><span class="paramname"><em>inStream</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_state_recorder_filter.html">StateRecorderFilter</a> *</td> <td class="paramname"><span class="paramname"><em>inFilter</em></span> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Saving state for replay. </p>
- </div>
- </div>
- <a id="a5f4202f0ef087177b642a93c13d82d9a" name="a5f4202f0ef087177b642a93c13d82d9a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5f4202f0ef087177b642a93c13d82d9a">◆ </a></span>SetBodyActivationListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::SetBodyActivationListener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body_activation_listener.html">BodyActivationListener</a> *</td> <td class="paramname"><span class="paramname"><em>inListener</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Listener that is notified whenever a body is activated/deactivated. </p>
- </div>
- </div>
- <a id="ae42a0183320aaebe459af6b0cc937daf" name="ae42a0183320aaebe459af6b0cc937daf"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae42a0183320aaebe459af6b0cc937daf">◆ </a></span>SetBodyObjectLayerInternal()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::SetBodyObjectLayerInternal </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>ioBody</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_object_layer_8h.html#a960eb396e2803ddad87bf25e0dcb4470">ObjectLayer</a></td> <td class="paramname"><span class="paramname"><em>inLayer</em></span> ) 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>Function to update body's layer (should only be called by the <a class="el" href="class_body_interface.html">BodyInterface</a> since it also requires updating the broadphase) </p>
- </div>
- </div>
- <a id="af449412eb723ffe93a193d9b9aa86f3b" name="af449412eb723ffe93a193d9b9aa86f3b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af449412eb723ffe93a193d9b9aa86f3b">◆ </a></span>SetMotionQuality()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::SetMotionQuality </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>ioBody</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_motion_quality_8h.html#af43db3453103c2e62526f54dd8542d3a">EMotionQuality</a></td> <td class="paramname"><span class="paramname"><em>inMotionQuality</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Update the motion quality for a body. </p>
- </div>
- </div>
- <a id="a2a95afcef6b2166321d1ba21dce19158" name="a2a95afcef6b2166321d1ba21dce19158"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2a95afcef6b2166321d1ba21dce19158">◆ </a></span>sIsValidBodyPointer()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static bool BodyManager::sIsValidBodyPointer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body.html">Body</a> *</td> <td class="paramname"><span class="paramname"><em>inBody</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Check if this is a valid body pointer. When a body is freed the memory that the pointer occupies is reused to store a freelist. </p>
- </div>
- </div>
- <a id="a57535e1d1645cc00b57fb7e8ecccc259" name="a57535e1d1645cc00b57fb7e8ecccc259"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a57535e1d1645cc00b57fb7e8ecccc259">◆ </a></span>TryGetBody() <span class="overload">[1/2]</span></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="class_body.html">Body</a> * BodyManager::TryGetBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &</td> <td class="paramname"><span class="paramname"><em>inID</em></span></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>Access a body, will return a nullptr if the body ID is no longer valid (not protected by lock) </p>
- </div>
- </div>
- <a id="ac441f5d6015c113423972740f3e2815f" name="ac441f5d6015c113423972740f3e2815f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac441f5d6015c113423972740f3e2815f">◆ </a></span>TryGetBody() <span class="overload">[2/2]</span></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="class_body.html">Body</a> * BodyManager::TryGetBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &</td> <td class="paramname"><span class="paramname"><em>inID</em></span></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>Access a body, will return a nullptr if the body ID is no longer valid (not protected by lock) </p>
- </div>
- </div>
- <a id="a5bfccfc12e83e13bc8ed0ceacff6ccc3" name="a5bfccfc12e83e13bc8ed0ceacff6ccc3"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5bfccfc12e83e13bc8ed0ceacff6ccc3">◆ </a></span>UnlockAllBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::UnlockAllBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Unlock all bodies. This should only be done during <a class="el" href="class_physics_system.html#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update()</a>. </p>
- </div>
- </div>
- <a id="a3cfb772a46e7495234f6f14bff09ba99" name="a3cfb772a46e7495234f6f14bff09ba99"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3cfb772a46e7495234f6f14bff09ba99">◆ </a></span>UnlockRead()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::UnlockRead </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a></td> <td class="paramname"><span class="paramname"><em>inMutexMask</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a27ee56a1128b6d9df49d56ea8308d95b" name="a27ee56a1128b6d9df49d56ea8308d95b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a27ee56a1128b6d9df49d56ea8308d95b">◆ </a></span>UnlockWrite()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::UnlockWrite </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="#aee0d75a5176680f7c00728fa33cbe9e2">MutexMask</a></td> <td class="paramname"><span class="paramname"><em>inMutexMask</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a4e5f1bfab762cd561b21320d97ef0594" name="a4e5f1bfab762cd561b21320d97ef0594"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4e5f1bfab762cd561b21320d97ef0594">◆ </a></span>ValidateContactCacheForAllBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void BodyManager::ValidateContactCacheForAllBodies </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reset the Body::EFlags::InvalidateContactCache flag for all bodies. All contact pairs in the contact cache will now by valid again. </p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li>Jolt/Physics/Body/<a class="el" href="_body_manager_8h_source.html">BodyManager.h</a></li>
- <li>Jolt/Physics/Body/<a class="el" href="_body_manager_8cpp.html">BodyManager.cpp</a></li>
- </ul>
- </div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="class_body_manager.html">BodyManager</a></li>
- <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
- </ul>
- </div>
- </body>
- </html>
|