| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149 |
- <!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: PhysicsSystem 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_physics_system.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="#pub-static-attribs">Static Public Attributes</a> |
- <a href="class_physics_system-members.html">List of all members</a> </div>
- <div class="headertitle"><div class="title">PhysicsSystem Class Reference</div></div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <<a class="el" href="_physics_system_8h_source.html">PhysicsSystem.h</a>></code></p>
- <div class="dynheader">
- Inheritance diagram for PhysicsSystem:</div>
- <div class="dyncontent">
- <div class="center">
- <img src="class_physics_system.png" usemap="#PhysicsSystem_map" alt=""/>
- <map id="PhysicsSystem_map" name="PhysicsSystem_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,96,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">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_physics_system_1_1_bodies_to_sleep.html">BodiesToSleep</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:a7328fa03c817c65db22f13e36f0ff89a" id="r_a7328fa03c817c65db22f13e36f0ff89a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7328fa03c817c65db22f13e36f0ff89a">SimCollideBodyVsBody</a> = std::function<void(const <a class="el" href="class_body.html">Body</a> &inBody1, const <a class="el" href="class_body.html">Body</a> &inBody2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &ioCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter)></td></tr>
- <tr class="separator:a7328fa03c817c65db22f13e36f0ff89a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8298f68e3a5a5990ea4c5391750b3d90" id="r_a8298f68e3a5a5990ea4c5391750b3d90"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8298f68e3a5a5990ea4c5391750b3d90">BodyStats</a> = <a class="el" href="struct_body_manager_1_1_body_stats.html">BodyManager::BodyStats</a></td></tr>
- <tr class="memdesc:a8298f68e3a5a5990ea4c5391750b3d90"><td class="mdescLeft"> </td><td class="mdescRight">Helper struct that counts the number of bodies of each type. <br /></td></tr>
- <tr class="separator:a8298f68e3a5a5990ea4c5391750b3d90"><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:aaefedca1b6619cf11f5c45f7f2176148" id="r_aaefedca1b6619cf11f5c45f7f2176148"><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="#aaefedca1b6619cf11f5c45f7f2176148">PhysicsSystem</a> ()</td></tr>
- <tr class="memdesc:aaefedca1b6619cf11f5c45f7f2176148"><td class="mdescLeft"> </td><td class="mdescRight">Constructor / Destructor. <br /></td></tr>
- <tr class="separator:aaefedca1b6619cf11f5c45f7f2176148"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2f13afc2b367634112f155934af9227e" id="r_a2f13afc2b367634112f155934af9227e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f13afc2b367634112f155934af9227e">~PhysicsSystem</a> ()</td></tr>
- <tr class="separator:a2f13afc2b367634112f155934af9227e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae578fcd0c58f678156b7cd8b44f811a6" id="r_ae578fcd0c58f678156b7cd8b44f811a6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae578fcd0c58f678156b7cd8b44f811a6">Init</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inMaxBodies, <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inNumBodyMutexes, <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inMaxBodyPairs, <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inMaxContactConstraints, const <a class="el" href="class_broad_phase_layer_interface.html">BroadPhaseLayerInterface</a> &inBroadPhaseLayerInterface, const <a class="el" href="class_object_vs_broad_phase_layer_filter.html">ObjectVsBroadPhaseLayerFilter</a> &inObjectVsBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_pair_filter.html">ObjectLayerPairFilter</a> &inObjectLayerPairFilter)</td></tr>
- <tr class="separator:ae578fcd0c58f678156b7cd8b44f811a6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae7c05e21f93638e9b9eb2c52dd6d850f" id="r_ae7c05e21f93638e9b9eb2c52dd6d850f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae7c05e21f93638e9b9eb2c52dd6d850f">SetBodyActivationListener</a> (<a class="el" href="class_body_activation_listener.html">BodyActivationListener</a> *inListener)</td></tr>
- <tr class="memdesc:ae7c05e21f93638e9b9eb2c52dd6d850f"><td class="mdescLeft"> </td><td class="mdescRight">Listener that is notified whenever a body is activated/deactivated. <br /></td></tr>
- <tr class="separator:ae7c05e21f93638e9b9eb2c52dd6d850f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8fd2362a6a9377d74902653f42e83170" id="r_a8fd2362a6a9377d74902653f42e83170"><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="#a8fd2362a6a9377d74902653f42e83170">GetBodyActivationListener</a> () const</td></tr>
- <tr class="separator:a8fd2362a6a9377d74902653f42e83170"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ade7967ad5ff4a67d255cc6fb956943c8" id="r_ade7967ad5ff4a67d255cc6fb956943c8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ade7967ad5ff4a67d255cc6fb956943c8">SetContactListener</a> (<a class="el" href="class_contact_listener.html">ContactListener</a> *inListener)</td></tr>
- <tr class="separator:ade7967ad5ff4a67d255cc6fb956943c8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae7f5894935da5a4652a6d7ac60ad82e0" id="r_ae7f5894935da5a4652a6d7ac60ad82e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_contact_listener.html">ContactListener</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae7f5894935da5a4652a6d7ac60ad82e0">GetContactListener</a> () const</td></tr>
- <tr class="separator:ae7f5894935da5a4652a6d7ac60ad82e0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3077d0538cb694338f8e466b9d36563c" id="r_a3077d0538cb694338f8e466b9d36563c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3077d0538cb694338f8e466b9d36563c">SetSoftBodyContactListener</a> (<a class="el" href="class_soft_body_contact_listener.html">SoftBodyContactListener</a> *inListener)</td></tr>
- <tr class="memdesc:a3077d0538cb694338f8e466b9d36563c"><td class="mdescLeft"> </td><td class="mdescRight">Listener that is notified whenever a contact point between a soft body and another body. <br /></td></tr>
- <tr class="separator:a3077d0538cb694338f8e466b9d36563c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae0014dc0eb3cf650db692bb24e0c3f75" id="r_ae0014dc0eb3cf650db692bb24e0c3f75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_soft_body_contact_listener.html">SoftBodyContactListener</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0014dc0eb3cf650db692bb24e0c3f75">GetSoftBodyContactListener</a> () const</td></tr>
- <tr class="separator:ae0014dc0eb3cf650db692bb24e0c3f75"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae1cc3e726b7e186f642c7da5f6c6a2c2" id="r_ae1cc3e726b7e186f642c7da5f6c6a2c2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae1cc3e726b7e186f642c7da5f6c6a2c2">SetCombineFriction</a> (<a class="el" href="class_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a> inCombineFriction)</td></tr>
- <tr class="separator:ae1cc3e726b7e186f642c7da5f6c6a2c2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae19842257ae5c36c88dd4dbead21e55f" id="r_ae19842257ae5c36c88dd4dbead21e55f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae19842257ae5c36c88dd4dbead21e55f">GetCombineFriction</a> () const</td></tr>
- <tr class="separator:ae19842257ae5c36c88dd4dbead21e55f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1bf5312ff70cb942e4899eb0766d5ebe" id="r_a1bf5312ff70cb942e4899eb0766d5ebe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1bf5312ff70cb942e4899eb0766d5ebe">SetCombineRestitution</a> (<a class="el" href="class_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a> inCombineRestitution)</td></tr>
- <tr class="separator:a1bf5312ff70cb942e4899eb0766d5ebe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aad39e9dd77faf9b578460b66451334e7" id="r_aad39e9dd77faf9b578460b66451334e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aad39e9dd77faf9b578460b66451334e7">GetCombineRestitution</a> () const</td></tr>
- <tr class="separator:aad39e9dd77faf9b578460b66451334e7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa5e3d3dc2758b0ca0bcb6eb8e77bd379" id="r_aa5e3d3dc2758b0ca0bcb6eb8e77bd379"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5e3d3dc2758b0ca0bcb6eb8e77bd379">SetSimShapeFilter</a> (const <a class="el" href="class_sim_shape_filter.html">SimShapeFilter</a> *inShapeFilter)</td></tr>
- <tr class="separator:aa5e3d3dc2758b0ca0bcb6eb8e77bd379"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0692ef8b6ac3aec8dd3420b9fd35b46b" id="r_a0692ef8b6ac3aec8dd3420b9fd35b46b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_sim_shape_filter.html">SimShapeFilter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0692ef8b6ac3aec8dd3420b9fd35b46b">GetSimShapeFilter</a> () const</td></tr>
- <tr class="separator:a0692ef8b6ac3aec8dd3420b9fd35b46b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa20737fdf1b3deb79a4b8da27ef42572" id="r_aa20737fdf1b3deb79a4b8da27ef42572"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa20737fdf1b3deb79a4b8da27ef42572">SetSimCollideBodyVsBody</a> (const <a class="el" href="#a7328fa03c817c65db22f13e36f0ff89a">SimCollideBodyVsBody</a> &inBodyVsBody)</td></tr>
- <tr class="separator:aa20737fdf1b3deb79a4b8da27ef42572"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afb16db6e1e89f62c2f77ecb7a4022dac" id="r_afb16db6e1e89f62c2f77ecb7a4022dac"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="#a7328fa03c817c65db22f13e36f0ff89a">SimCollideBodyVsBody</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#afb16db6e1e89f62c2f77ecb7a4022dac">GetSimCollideBodyVsBody</a> () const</td></tr>
- <tr class="separator:afb16db6e1e89f62c2f77ecb7a4022dac"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2f81c29dfb88dd7e0711caffcd2ebc22" id="r_a2f81c29dfb88dd7e0711caffcd2ebc22"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f81c29dfb88dd7e0711caffcd2ebc22">SetPhysicsSettings</a> (const <a class="el" href="struct_physics_settings.html">PhysicsSettings</a> &inSettings)</td></tr>
- <tr class="memdesc:a2f81c29dfb88dd7e0711caffcd2ebc22"><td class="mdescLeft"> </td><td class="mdescRight">Control the main constants of the physics simulation. <br /></td></tr>
- <tr class="separator:a2f81c29dfb88dd7e0711caffcd2ebc22"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a54b6d93365bca8fda1edf68997c29b9e" id="r_a54b6d93365bca8fda1edf68997c29b9e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_physics_settings.html">PhysicsSettings</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a54b6d93365bca8fda1edf68997c29b9e">GetPhysicsSettings</a> () const</td></tr>
- <tr class="separator:a54b6d93365bca8fda1edf68997c29b9e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a35474557b977d2a03e7b5e7c920bf2ee" id="r_a35474557b977d2a03e7b5e7c920bf2ee"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body_interface.html">BodyInterface</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a35474557b977d2a03e7b5e7c920bf2ee">GetBodyInterface</a> () const</td></tr>
- <tr class="memdesc:a35474557b977d2a03e7b5e7c920bf2ee"><td class="mdescLeft"> </td><td class="mdescRight">Access to the body interface. This interface allows to to create / remove bodies and to change their properties. <br /></td></tr>
- <tr class="separator:a35474557b977d2a03e7b5e7c920bf2ee"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a579bc839c332cf3523c3eb2b03c98e3e" id="r_a579bc839c332cf3523c3eb2b03c98e3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_interface.html">BodyInterface</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a579bc839c332cf3523c3eb2b03c98e3e">GetBodyInterface</a> ()</td></tr>
- <tr class="separator:a579bc839c332cf3523c3eb2b03c98e3e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a55216f4cfc718d052548baac4ba098d7" id="r_a55216f4cfc718d052548baac4ba098d7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body_interface.html">BodyInterface</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a55216f4cfc718d052548baac4ba098d7">GetBodyInterfaceNoLock</a> () const</td></tr>
- <tr class="memdesc:a55216f4cfc718d052548baac4ba098d7"><td class="mdescLeft"> </td><td class="mdescRight">Version that does not lock the bodies, use with great care! <br /></td></tr>
- <tr class="separator:a55216f4cfc718d052548baac4ba098d7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9da48916fec4a9b9af533a84785aa455" id="r_a9da48916fec4a9b9af533a84785aa455"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_interface.html">BodyInterface</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9da48916fec4a9b9af533a84785aa455">GetBodyInterfaceNoLock</a> ()</td></tr>
- <tr class="memdesc:a9da48916fec4a9b9af533a84785aa455"><td class="mdescLeft"> </td><td class="mdescRight">Version that does not lock the bodies, use with great care! <br /></td></tr>
- <tr class="separator:a9da48916fec4a9b9af533a84785aa455"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3d621cc72c69b73cdcc13bdb3b0dddc4" id="r_a3d621cc72c69b73cdcc13bdb3b0dddc4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_broad_phase_query.html">BroadPhaseQuery</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d621cc72c69b73cdcc13bdb3b0dddc4">GetBroadPhaseQuery</a> () const</td></tr>
- <tr class="memdesc:a3d621cc72c69b73cdcc13bdb3b0dddc4"><td class="mdescLeft"> </td><td class="mdescRight">Access to the broadphase interface that allows coarse collision queries. <br /></td></tr>
- <tr class="separator:a3d621cc72c69b73cdcc13bdb3b0dddc4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1ced58861f3fbb7cfea901128bb7a84d" id="r_a1ced58861f3fbb7cfea901128bb7a84d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_narrow_phase_query.html">NarrowPhaseQuery</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ced58861f3fbb7cfea901128bb7a84d">GetNarrowPhaseQuery</a> () const</td></tr>
- <tr class="memdesc:a1ced58861f3fbb7cfea901128bb7a84d"><td class="mdescLeft"> </td><td class="mdescRight">Interface that allows fine collision queries against first the broad phase and then the narrow phase. <br /></td></tr>
- <tr class="separator:a1ced58861f3fbb7cfea901128bb7a84d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a472f122c70806d1a2b88fbb441be42e0" id="r_a472f122c70806d1a2b88fbb441be42e0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_narrow_phase_query.html">NarrowPhaseQuery</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a472f122c70806d1a2b88fbb441be42e0">GetNarrowPhaseQueryNoLock</a> () const</td></tr>
- <tr class="memdesc:a472f122c70806d1a2b88fbb441be42e0"><td class="mdescLeft"> </td><td class="mdescRight">Version that does not lock the bodies, use with great care! <br /></td></tr>
- <tr class="separator:a472f122c70806d1a2b88fbb441be42e0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6a1378c13080b5ad3af2c61be87ca40c" id="r_a6a1378c13080b5ad3af2c61be87ca40c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6a1378c13080b5ad3af2c61be87ca40c">AddConstraint</a> (<a class="el" href="class_constraint.html">Constraint</a> *inConstraint)</td></tr>
- <tr class="memdesc:a6a1378c13080b5ad3af2c61be87ca40c"><td class="mdescLeft"> </td><td class="mdescRight">Add constraint to the world. <br /></td></tr>
- <tr class="separator:a6a1378c13080b5ad3af2c61be87ca40c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7cdf5d375a54ab6d6b29e3944d8e4266" id="r_a7cdf5d375a54ab6d6b29e3944d8e4266"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7cdf5d375a54ab6d6b29e3944d8e4266">RemoveConstraint</a> (<a class="el" href="class_constraint.html">Constraint</a> *inConstraint)</td></tr>
- <tr class="memdesc:a7cdf5d375a54ab6d6b29e3944d8e4266"><td class="mdescLeft"> </td><td class="mdescRight">Remove constraint from the world. <br /></td></tr>
- <tr class="separator:a7cdf5d375a54ab6d6b29e3944d8e4266"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad83534f99aa4e7fc78e6ede84576b59c" id="r_ad83534f99aa4e7fc78e6ede84576b59c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad83534f99aa4e7fc78e6ede84576b59c">AddConstraints</a> (<a class="el" href="class_constraint.html">Constraint</a> **inConstraints, int inNumber)</td></tr>
- <tr class="memdesc:ad83534f99aa4e7fc78e6ede84576b59c"><td class="mdescLeft"> </td><td class="mdescRight">Batch add constraints. <br /></td></tr>
- <tr class="separator:ad83534f99aa4e7fc78e6ede84576b59c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a220ed391139f4ffdb384fe83b44d6439" id="r_a220ed391139f4ffdb384fe83b44d6439"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a220ed391139f4ffdb384fe83b44d6439">RemoveConstraints</a> (<a class="el" href="class_constraint.html">Constraint</a> **inConstraints, int inNumber)</td></tr>
- <tr class="memdesc:a220ed391139f4ffdb384fe83b44d6439"><td class="mdescLeft"> </td><td class="mdescRight">Batch remove constraints. <br /></td></tr>
- <tr class="separator:a220ed391139f4ffdb384fe83b44d6439"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a69c9f67351312d43f8e1c1f5d23fdf99" id="r_a69c9f67351312d43f8e1c1f5d23fdf99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_constraint_manager_8h.html#aee2917a71c172c61d1e2d77c1fad813b">Constraints</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a69c9f67351312d43f8e1c1f5d23fdf99">GetConstraints</a> () const</td></tr>
- <tr class="memdesc:a69c9f67351312d43f8e1c1f5d23fdf99"><td class="mdescLeft"> </td><td class="mdescRight">Get a list of all constraints. <br /></td></tr>
- <tr class="separator:a69c9f67351312d43f8e1c1f5d23fdf99"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab3cd9f2562f0f051c032b3bc298d9604" id="r_ab3cd9f2562f0f051c032b3bc298d9604"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3cd9f2562f0f051c032b3bc298d9604">OptimizeBroadPhase</a> ()</td></tr>
- <tr class="separator:ab3cd9f2562f0f051c032b3bc298d9604"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0964d49514b7447981dcc7438876e988" id="r_a0964d49514b7447981dcc7438876e988"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0964d49514b7447981dcc7438876e988">AddStepListener</a> (<a class="el" href="class_physics_step_listener.html">PhysicsStepListener</a> *inListener)</td></tr>
- <tr class="memdesc:a0964d49514b7447981dcc7438876e988"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new step listener. <br /></td></tr>
- <tr class="separator:a0964d49514b7447981dcc7438876e988"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a00aeeff60505f9baa3dd1ffdfe73c2b3" id="r_a00aeeff60505f9baa3dd1ffdfe73c2b3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a00aeeff60505f9baa3dd1ffdfe73c2b3">RemoveStepListener</a> (<a class="el" href="class_physics_step_listener.html">PhysicsStepListener</a> *inListener)</td></tr>
- <tr class="memdesc:a00aeeff60505f9baa3dd1ffdfe73c2b3"><td class="mdescLeft"> </td><td class="mdescRight">Removes a step listener. <br /></td></tr>
- <tr class="separator:a00aeeff60505f9baa3dd1ffdfe73c2b3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4cdc76b2486dfaecfc9319d040e5e5f3" id="r_a4cdc76b2486dfaecfc9319d040e5e5f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_e_physics_update_error_8h.html#a1df3f14c5cc9f3be49f239b17470aaa1">EPhysicsUpdateError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">Update</a> (float inDeltaTime, int inCollisionSteps, <a class="el" href="class_temp_allocator.html">TempAllocator</a> *inTempAllocator, <a class="el" href="class_job_system.html">JobSystem</a> *inJobSystem)</td></tr>
- <tr class="separator:a4cdc76b2486dfaecfc9319d040e5e5f3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae13975e609ff125fa02b922795777824" id="r_ae13975e609ff125fa02b922795777824"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae13975e609ff125fa02b922795777824">SaveState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream, <a class="el" href="_state_recorder_8h.html#ac746db0a34def4dfd77ccd487ae36eb4">EStateRecorderState</a> inState=<a class="el" href="_state_recorder_8h.html#ac746db0a34def4dfd77ccd487ae36eb4ab1c94ca2fbc3e78fc30069c8d0f01680">EStateRecorderState::All</a>, const <a class="el" href="class_state_recorder_filter.html">StateRecorderFilter</a> *inFilter=nullptr) const</td></tr>
- <tr class="memdesc:ae13975e609ff125fa02b922795777824"><td class="mdescLeft"> </td><td class="mdescRight">Saving state for replay. <br /></td></tr>
- <tr class="separator:ae13975e609ff125fa02b922795777824"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a09379b63a92e2e0f449f1665d2aa00be" id="r_a09379b63a92e2e0f449f1665d2aa00be"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a09379b63a92e2e0f449f1665d2aa00be">RestoreState</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=nullptr)</td></tr>
- <tr class="memdesc:a09379b63a92e2e0f449f1665d2aa00be"><td class="mdescLeft"> </td><td class="mdescRight">Restoring state for replay. Returns false if failed. <br /></td></tr>
- <tr class="separator:a09379b63a92e2e0f449f1665d2aa00be"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a29255e6d9124402e08319bfbf81b8509" id="r_a29255e6d9124402e08319bfbf81b8509"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a29255e6d9124402e08319bfbf81b8509">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:a29255e6d9124402e08319bfbf81b8509"><td class="mdescLeft"> </td><td class="mdescRight">Saving state of a single body. <br /></td></tr>
- <tr class="separator:a29255e6d9124402e08319bfbf81b8509"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5865e977575ab65a41ce98e098b897cc" id="r_a5865e977575ab65a41ce98e098b897cc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5865e977575ab65a41ce98e098b897cc">RestoreBodyState</a> (<a class="el" href="class_body.html">Body</a> &ioBody, <a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream)</td></tr>
- <tr class="memdesc:a5865e977575ab65a41ce98e098b897cc"><td class="mdescLeft"> </td><td class="mdescRight">Restoring state of a single body. <br /></td></tr>
- <tr class="separator:a5865e977575ab65a41ce98e098b897cc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8d4eda1c25d2c2e57a6964167870fe93" id="r_a8d4eda1c25d2c2e57a6964167870fe93"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d4eda1c25d2c2e57a6964167870fe93">DrawBodies</a> (const <a class="el" href="struct_body_manager_1_1_draw_settings.html">BodyManager::DrawSettings</a> &inSettings, <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:a8d4eda1c25d2c2e57a6964167870fe93"><td class="mdescLeft"> </td><td class="mdescRight">Draw the state of the bodies (debugging purposes) <br /></td></tr>
- <tr class="separator:a8d4eda1c25d2c2e57a6964167870fe93"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4fa500f710dcc423062fd1514fe07780" id="r_a4fa500f710dcc423062fd1514fe07780"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4fa500f710dcc423062fd1514fe07780">DrawConstraints</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer)</td></tr>
- <tr class="memdesc:a4fa500f710dcc423062fd1514fe07780"><td class="mdescLeft"> </td><td class="mdescRight">Draw the constraints only (debugging purposes) <br /></td></tr>
- <tr class="separator:a4fa500f710dcc423062fd1514fe07780"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a58612f2c07412ae75580710d0b0047d9" id="r_a58612f2c07412ae75580710d0b0047d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a58612f2c07412ae75580710d0b0047d9">DrawConstraintLimits</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer)</td></tr>
- <tr class="memdesc:a58612f2c07412ae75580710d0b0047d9"><td class="mdescLeft"> </td><td class="mdescRight">Draw the constraint limits only (debugging purposes) <br /></td></tr>
- <tr class="separator:a58612f2c07412ae75580710d0b0047d9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0535d433ffd7c3d00595ba784ada4f91" id="r_a0535d433ffd7c3d00595ba784ada4f91"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0535d433ffd7c3d00595ba784ada4f91">DrawConstraintReferenceFrame</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer)</td></tr>
- <tr class="memdesc:a0535d433ffd7c3d00595ba784ada4f91"><td class="mdescLeft"> </td><td class="mdescRight">Draw the constraint reference frames only (debugging purposes) <br /></td></tr>
- <tr class="separator:a0535d433ffd7c3d00595ba784ada4f91"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad09c12009bbcb0d0e6dbfd9582593be4" id="r_ad09c12009bbcb0d0e6dbfd9582593be4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad09c12009bbcb0d0e6dbfd9582593be4">SetGravity</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inGravity)</td></tr>
- <tr class="memdesc:ad09c12009bbcb0d0e6dbfd9582593be4"><td class="mdescLeft"> </td><td class="mdescRight">Set gravity value. <br /></td></tr>
- <tr class="separator:ad09c12009bbcb0d0e6dbfd9582593be4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a73776df14d1f0f10ba9a5fa033eefafd" id="r_a73776df14d1f0f10ba9a5fa033eefafd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a73776df14d1f0f10ba9a5fa033eefafd">GetGravity</a> () const</td></tr>
- <tr class="separator:a73776df14d1f0f10ba9a5fa033eefafd"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad381ea5bd5568b20ae05c1229dbff49e" id="r_ad381ea5bd5568b20ae05c1229dbff49e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body_lock_interface_no_lock.html">BodyLockInterfaceNoLock</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad381ea5bd5568b20ae05c1229dbff49e">GetBodyLockInterfaceNoLock</a> () const</td></tr>
- <tr class="memdesc:ad381ea5bd5568b20ae05c1229dbff49e"><td class="mdescLeft"> </td><td class="mdescRight">Returns a locking interface that won't actually lock the body. Use with great care! <br /></td></tr>
- <tr class="separator:ad381ea5bd5568b20ae05c1229dbff49e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3ec396058f674026726e59dc7ad20609" id="r_a3ec396058f674026726e59dc7ad20609"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_body_lock_interface_locking.html">BodyLockInterfaceLocking</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ec396058f674026726e59dc7ad20609">GetBodyLockInterface</a> () const</td></tr>
- <tr class="memdesc:a3ec396058f674026726e59dc7ad20609"><td class="mdescLeft"> </td><td class="mdescRight">Returns a locking interface that locks the body so other threads cannot modify it. <br /></td></tr>
- <tr class="separator:a3ec396058f674026726e59dc7ad20609"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1c8c699488bcc1a11866166e94fc7fe2" id="r_a1c8c699488bcc1a11866166e94fc7fe2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_object_vs_broad_phase_layer_filter.html">ObjectVsBroadPhaseLayerFilter</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c8c699488bcc1a11866166e94fc7fe2">GetObjectVsBroadPhaseLayerFilter</a> () const</td></tr>
- <tr class="memdesc:a1c8c699488bcc1a11866166e94fc7fe2"><td class="mdescLeft"> </td><td class="mdescRight">Broadphase layer filter that decides if two objects can collide, this was passed to the Init function. <br /></td></tr>
- <tr class="separator:a1c8c699488bcc1a11866166e94fc7fe2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a22388d52ec600712200a5a5846524c9f" id="r_a22388d52ec600712200a5a5846524c9f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_object_layer_pair_filter.html">ObjectLayerPairFilter</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a22388d52ec600712200a5a5846524c9f">GetObjectLayerPairFilter</a> () const</td></tr>
- <tr class="memdesc:a22388d52ec600712200a5a5846524c9f"><td class="mdescLeft"> </td><td class="mdescRight">Object layer filter that decides if two objects can collide, this was passed to the Init function. <br /></td></tr>
- <tr class="separator:a22388d52ec600712200a5a5846524c9f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9473bc5d3e3cd861b58b0db3240b4f1d" id="r_a9473bc5d3e3cd861b58b0db3240b4f1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_default_broad_phase_layer_filter.html">DefaultBroadPhaseLayerFilter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9473bc5d3e3cd861b58b0db3240b4f1d">GetDefaultBroadPhaseLayerFilter</a> (<a class="el" href="_object_layer_8h.html#a960eb396e2803ddad87bf25e0dcb4470">ObjectLayer</a> inLayer) const</td></tr>
- <tr class="memdesc:a9473bc5d3e3cd861b58b0db3240b4f1d"><td class="mdescLeft"> </td><td class="mdescRight">Get an broadphase layer filter that uses the default pair filter and a specified object layer to determine if broadphase layers collide. <br /></td></tr>
- <tr class="separator:a9473bc5d3e3cd861b58b0db3240b4f1d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adaf3b2dbc230ee329461e47f096ef467" id="r_adaf3b2dbc230ee329461e47f096ef467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_default_object_layer_filter.html">DefaultObjectLayerFilter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#adaf3b2dbc230ee329461e47f096ef467">GetDefaultLayerFilter</a> (<a class="el" href="_object_layer_8h.html#a960eb396e2803ddad87bf25e0dcb4470">ObjectLayer</a> inLayer) const</td></tr>
- <tr class="memdesc:adaf3b2dbc230ee329461e47f096ef467"><td class="mdescLeft"> </td><td class="mdescRight">Get an object layer filter that uses the default pair filter and a specified layer to determine if layers collide. <br /></td></tr>
- <tr class="separator:adaf3b2dbc230ee329461e47f096ef467"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a25eb1c752bffdd53c2c7cd610f2708f7" id="r_a25eb1c752bffdd53c2c7cd610f2708f7"><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="#a25eb1c752bffdd53c2c7cd610f2708f7">GetNumBodies</a> () const</td></tr>
- <tr class="memdesc:a25eb1c752bffdd53c2c7cd610f2708f7"><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:a25eb1c752bffdd53c2c7cd610f2708f7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a294887e565856fe5305419aa4432e33e" id="r_a294887e565856fe5305419aa4432e33e"><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="#a294887e565856fe5305419aa4432e33e">GetNumActiveBodies</a> (<a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a> inType) const</td></tr>
- <tr class="memdesc:a294887e565856fe5305419aa4432e33e"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current amount of active bodies that are in the body manager. <br /></td></tr>
- <tr class="separator:a294887e565856fe5305419aa4432e33e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a77646a1768d1cfc892b6238bf614ed9f" id="r_a77646a1768d1cfc892b6238bf614ed9f"><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="#a77646a1768d1cfc892b6238bf614ed9f">GetMaxBodies</a> () const</td></tr>
- <tr class="memdesc:a77646a1768d1cfc892b6238bf614ed9f"><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum amount of bodies that this physics system supports. <br /></td></tr>
- <tr class="separator:a77646a1768d1cfc892b6238bf614ed9f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad826f67ef4fd3a1457cf9d8d6892d5cb" id="r_ad826f67ef4fd3a1457cf9d8d6892d5cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a8298f68e3a5a5990ea4c5391750b3d90">BodyStats</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad826f67ef4fd3a1457cf9d8d6892d5cb">GetBodyStats</a> () const</td></tr>
- <tr class="memdesc:ad826f67ef4fd3a1457cf9d8d6892d5cb"><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:ad826f67ef4fd3a1457cf9d8d6892d5cb"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a01018de422e55bc7e23a17f318ecdd1f" id="r_a01018de422e55bc7e23a17f318ecdd1f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a01018de422e55bc7e23a17f318ecdd1f">GetBodies</a> (<a class="el" href="_body_manager_8h.html#afc1c8d959352d66db407f29003a66bb8">BodyIDVector</a> &outBodyIDs) const</td></tr>
- <tr class="separator:a01018de422e55bc7e23a17f318ecdd1f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aac0c682798c1fc5c78977b0dc4b24b7d" id="r_aac0c682798c1fc5c78977b0dc4b24b7d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aac0c682798c1fc5c78977b0dc4b24b7d">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="separator:aac0c682798c1fc5c78977b0dc4b24b7d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae3f5ce308a831074e1e0fff453862584" id="r_ae3f5ce308a831074e1e0fff453862584"><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="#ae3f5ce308a831074e1e0fff453862584">GetActiveBodiesUnsafe</a> (<a class="el" href="_body_type_8h.html#ab494e27db6c263f9e31556ad388eb666">EBodyType</a> inType) const</td></tr>
- <tr class="separator:ae3f5ce308a831074e1e0fff453862584"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad8f5849a90549504d9f1705c324a9a83" id="r_ad8f5849a90549504d9f1705c324a9a83"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8f5849a90549504d9f1705c324a9a83">WereBodiesInContact</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inBody1ID, const <a class="el" href="class_body_i_d.html">BodyID</a> &inBody2ID) const</td></tr>
- <tr class="separator:ad8f5849a90549504d9f1705c324a9a83"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7f87f05d94f62054d6f3e975b613d2f0" id="r_a7f87f05d94f62054d6f3e975b613d2f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_a_a_box.html">AABox</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f87f05d94f62054d6f3e975b613d2f0">GetBounds</a> () const</td></tr>
- <tr class="separator:a7f87f05d94f62054d6f3e975b613d2f0"><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:a70cb30eef61fa863a426c33b63cd719d" id="r_a70cb30eef61fa863a426c33b63cd719d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a70cb30eef61fa863a426c33b63cd719d">sDefaultSimCollideBodyVsBody</a> (const <a class="el" href="class_body.html">Body</a> &inBody1, const <a class="el" href="class_body.html">Body</a> &inBody2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &ioCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter)</td></tr>
- <tr class="memdesc:a70cb30eef61fa863a426c33b63cd719d"><td class="mdescLeft"> </td><td class="mdescRight">Advanced use only: Default function that is used to collide two bodies during simulation. <br /></td></tr>
- <tr class="separator:a70cb30eef61fa863a426c33b63cd719d"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
- Static Public Attributes</h2></td></tr>
- <tr class="memitem:a4a042a65f228ed6b39bac9afa3afbe7e" id="r_a4a042a65f228ed6b39bac9afa3afbe7e"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4a042a65f228ed6b39bac9afa3afbe7e">cMaxBodiesLimit</a> = <a class="el" href="class_body_i_d.html#a89af35f2dfe916c6fa348175c3fb131b">BodyID::cMaxBodyIndex</a> + 1</td></tr>
- <tr class="memdesc:a4a042a65f228ed6b39bac9afa3afbe7e"><td class="mdescLeft"> </td><td class="mdescRight">The maximum value that can be passed to Init for inMaxBodies. <br /></td></tr>
- <tr class="separator:a4a042a65f228ed6b39bac9afa3afbe7e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5ab58d62cfb1afb084b1ac3b270f8ade" id="r_a5ab58d62cfb1afb084b1ac3b270f8ade"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ab58d62cfb1afb084b1ac3b270f8ade">cMaxBodyPairsLimit</a> = ContactConstraintManager::cMaxBodyPairsLimit</td></tr>
- <tr class="separator:a5ab58d62cfb1afb084b1ac3b270f8ade"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afd3f5999113396407e7f46ccfbbf0a61" id="r_afd3f5999113396407e7f46ccfbbf0a61"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#afd3f5999113396407e7f46ccfbbf0a61">cMaxContactConstraintsLimit</a> = ContactConstraintManager::cMaxContactConstraintsLimit</td></tr>
- <tr class="separator:afd3f5999113396407e7f46ccfbbf0a61"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab712e87abefb18cec82d9843e60c9bfb" id="r_ab712e87abefb18cec82d9843e60c9bfb"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab712e87abefb18cec82d9843e60c9bfb">sDrawMotionQualityLinearCast</a> = false</td></tr>
- <tr class="memdesc:ab712e87abefb18cec82d9843e60c9bfb"><td class="mdescLeft"> </td><td class="mdescRight">Draw debug info for objects that perform continuous collision detection through the linear cast motion quality. <br /></td></tr>
- <tr class="separator:ab712e87abefb18cec82d9843e60c9bfb"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>The main class for the physics system. It contains all rigid bodies and simulates them.</p>
- <p>The main simulation is performed by the <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">Update()</a> call on multiple threads (if the <a class="el" href="class_job_system.html">JobSystem</a> is configured to use them). Please refer to the general architecture overview in the Docs folder for more information. </p>
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
- <a id="a8298f68e3a5a5990ea4c5391750b3d90" name="a8298f68e3a5a5990ea4c5391750b3d90"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8298f68e3a5a5990ea4c5391750b3d90">◆ </a></span>BodyStats</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="#a8298f68e3a5a5990ea4c5391750b3d90">PhysicsSystem::BodyStats</a> = <a class="el" href="struct_body_manager_1_1_body_stats.html">BodyManager::BodyStats</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Helper struct that counts the number of bodies of each type. </p>
- </div>
- </div>
- <a id="a7328fa03c817c65db22f13e36f0ff89a" name="a7328fa03c817c65db22f13e36f0ff89a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7328fa03c817c65db22f13e36f0ff89a">◆ </a></span>SimCollideBodyVsBody</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="#a7328fa03c817c65db22f13e36f0ff89a">PhysicsSystem::SimCollideBodyVsBody</a> = std::function<void(const <a class="el" href="class_body.html">Body</a> &inBody1, const <a class="el" href="class_body.html">Body</a> &inBody2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &ioCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter)></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Advanced use only: This function is similar to <a class="el" href="class_collision_dispatch.html#a29634d08db5d24ce7c0d5c44b547c075">CollisionDispatch::sCollideShapeVsShape</a> but only used to collide bodies during simulation. inBody1 The first body to collide. inBody2 The second body to collide. inCenterOfMassTransform1 The center of mass transform of the first body (note this will not be the actual world space position of the body, it will be made relative to some position so we can drop down to single precision). inCenterOfMassTransform2 The center of mass transform of the second body. ioCollideShapeSettings Settings that control the collision detection. Note that the implementation can freely overwrite the shape settings if needed, the caller provides a temporary that will not be used after the function returns. ioCollector The collector that will receive the contact points. inShapeFilter The shape filter that can be used to exclude shapes from colliding with each other. </p>
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="aaefedca1b6619cf11f5c45f7f2176148" name="aaefedca1b6619cf11f5c45f7f2176148"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aaefedca1b6619cf11f5c45f7f2176148">◆ </a></span>PhysicsSystem()</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="_memory_8h.html#a91074fb218fe28954a0938c099ddd9e0">JPH_OVERRIDE_NEW_DELETE</a> PhysicsSystem::PhysicsSystem </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>Constructor / Destructor. </p>
- </div>
- </div>
- <a id="a2f13afc2b367634112f155934af9227e" name="a2f13afc2b367634112f155934af9227e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2f13afc2b367634112f155934af9227e">◆ </a></span>~PhysicsSystem()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">PhysicsSystem::~PhysicsSystem </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a6a1378c13080b5ad3af2c61be87ca40c" name="a6a1378c13080b5ad3af2c61be87ca40c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6a1378c13080b5ad3af2c61be87ca40c">◆ </a></span>AddConstraint()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::AddConstraint </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_constraint.html">Constraint</a> *</td> <td class="paramname"><span class="paramname"><em>inConstraint</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>Add constraint to the world. </p>
- </div>
- </div>
- <a id="ad83534f99aa4e7fc78e6ede84576b59c" name="ad83534f99aa4e7fc78e6ede84576b59c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad83534f99aa4e7fc78e6ede84576b59c">◆ </a></span>AddConstraints()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::AddConstraints </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_constraint.html">Constraint</a> **</td> <td class="paramname"><span class="paramname"><em>inConstraints</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>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Batch add constraints. </p>
- </div>
- </div>
- <a id="a0964d49514b7447981dcc7438876e988" name="a0964d49514b7447981dcc7438876e988"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0964d49514b7447981dcc7438876e988">◆ </a></span>AddStepListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::AddStepListener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_physics_step_listener.html">PhysicsStepListener</a> *</td> <td class="paramname"><span class="paramname"><em>inListener</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Adds a new step listener. </p>
- </div>
- </div>
- <a id="a8d4eda1c25d2c2e57a6964167870fe93" name="a8d4eda1c25d2c2e57a6964167870fe93"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8d4eda1c25d2c2e57a6964167870fe93">◆ </a></span>DrawBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::DrawBodies </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="struct_body_manager_1_1_draw_settings.html">BodyManager::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"><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>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Draw the state of the bodies (debugging purposes) </p>
- </div>
- </div>
- <a id="a58612f2c07412ae75580710d0b0047d9" name="a58612f2c07412ae75580710d0b0047d9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a58612f2c07412ae75580710d0b0047d9">◆ </a></span>DrawConstraintLimits()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::DrawConstraintLimits </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><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>Draw the constraint limits only (debugging purposes) </p>
- </div>
- </div>
- <a id="a0535d433ffd7c3d00595ba784ada4f91" name="a0535d433ffd7c3d00595ba784ada4f91"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0535d433ffd7c3d00595ba784ada4f91">◆ </a></span>DrawConstraintReferenceFrame()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::DrawConstraintReferenceFrame </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><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>Draw the constraint reference frames only (debugging purposes) </p>
- </div>
- </div>
- <a id="a4fa500f710dcc423062fd1514fe07780" name="a4fa500f710dcc423062fd1514fe07780"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4fa500f710dcc423062fd1514fe07780">◆ </a></span>DrawConstraints()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::DrawConstraints </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><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>Draw the constraints only (debugging purposes) </p>
- </div>
- </div>
- <a id="aac0c682798c1fc5c78977b0dc4b24b7d" name="aac0c682798c1fc5c78977b0dc4b24b7d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aac0c682798c1fc5c78977b0dc4b24b7d">◆ </a></span>GetActiveBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::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>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get copy of the list of active bodies under protection of a lock. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inType</td><td>The type of bodies to get </td></tr>
- <tr><td class="paramname">outBodyIDs</td><td>On return, this will contain the list of BodyIDs </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ae3f5ce308a831074e1e0fff453862584" name="ae3f5ce308a831074e1e0fff453862584"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae3f5ce308a831074e1e0fff453862584">◆ </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> * PhysicsSystem::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, use <a class="el" href="#a294887e565856fe5305419aa4432e33e" title="Gets the current amount of active bodies that are in the body manager.">GetNumActiveBodies()</a> to find out how long the list is. Note: Not thread safe. The active bodies list can change at any moment when other threads are doing work. Use <a class="el" href="#aac0c682798c1fc5c78977b0dc4b24b7d">GetActiveBodies()</a> if you need a thread safe version. </p>
- </div>
- </div>
- <a id="a01018de422e55bc7e23a17f318ecdd1f" name="a01018de422e55bc7e23a17f318ecdd1f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a01018de422e55bc7e23a17f318ecdd1f">◆ </a></span>GetBodies()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::GetBodies </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></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 copy of the list of all bodies under protection of a lock. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">outBodyIDs</td><td>On return, this will contain the list of BodyIDs </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a8fd2362a6a9377d74902653f42e83170" name="a8fd2362a6a9377d74902653f42e83170"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8fd2362a6a9377d74902653f42e83170">◆ </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> * PhysicsSystem::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="a579bc839c332cf3523c3eb2b03c98e3e" name="a579bc839c332cf3523c3eb2b03c98e3e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a579bc839c332cf3523c3eb2b03c98e3e">◆ </a></span>GetBodyInterface() <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_interface.html">BodyInterface</a> & PhysicsSystem::GetBodyInterface </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">
- </div>
- </div>
- <a id="a35474557b977d2a03e7b5e7c920bf2ee" name="a35474557b977d2a03e7b5e7c920bf2ee"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a35474557b977d2a03e7b5e7c920bf2ee">◆ </a></span>GetBodyInterface() <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_interface.html">BodyInterface</a> & PhysicsSystem::GetBodyInterface </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>Access to the body interface. This interface allows to to create / remove bodies and to change their properties. </p>
- </div>
- </div>
- <a id="a9da48916fec4a9b9af533a84785aa455" name="a9da48916fec4a9b9af533a84785aa455"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9da48916fec4a9b9af533a84785aa455">◆ </a></span>GetBodyInterfaceNoLock() <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_interface.html">BodyInterface</a> & PhysicsSystem::GetBodyInterfaceNoLock </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>Version that does not lock the bodies, use with great care! </p>
- </div>
- </div>
- <a id="a55216f4cfc718d052548baac4ba098d7" name="a55216f4cfc718d052548baac4ba098d7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a55216f4cfc718d052548baac4ba098d7">◆ </a></span>GetBodyInterfaceNoLock() <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_interface.html">BodyInterface</a> & PhysicsSystem::GetBodyInterfaceNoLock </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>Version that does not lock the bodies, use with great care! </p>
- </div>
- </div>
- <a id="a3ec396058f674026726e59dc7ad20609" name="a3ec396058f674026726e59dc7ad20609"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3ec396058f674026726e59dc7ad20609">◆ </a></span>GetBodyLockInterface()</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_lock_interface_locking.html">BodyLockInterfaceLocking</a> & PhysicsSystem::GetBodyLockInterface </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>Returns a locking interface that locks the body so other threads cannot modify it. </p>
- </div>
- </div>
- <a id="ad381ea5bd5568b20ae05c1229dbff49e" name="ad381ea5bd5568b20ae05c1229dbff49e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad381ea5bd5568b20ae05c1229dbff49e">◆ </a></span>GetBodyLockInterfaceNoLock()</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_lock_interface_no_lock.html">BodyLockInterfaceNoLock</a> & PhysicsSystem::GetBodyLockInterfaceNoLock </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>Returns a locking interface that won't actually lock the body. Use with great care! </p>
- </div>
- </div>
- <a id="ad826f67ef4fd3a1457cf9d8d6892d5cb" name="ad826f67ef4fd3a1457cf9d8d6892d5cb"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad826f67ef4fd3a1457cf9d8d6892d5cb">◆ </a></span>GetBodyStats()</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="#a8298f68e3a5a5990ea4c5391750b3d90">BodyStats</a> PhysicsSystem::GetBodyStats </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 stats about the bodies in the body manager (slow, iterates through all bodies) </p>
- </div>
- </div>
- <a id="a7f87f05d94f62054d6f3e975b613d2f0" name="a7f87f05d94f62054d6f3e975b613d2f0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7f87f05d94f62054d6f3e975b613d2f0">◆ </a></span>GetBounds()</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_a_a_box.html">AABox</a> PhysicsSystem::GetBounds </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 bounding box of all bodies in the physics system. Deprecated: Use <a class="el" href="#a3d621cc72c69b73cdcc13bdb3b0dddc4" title="Access to the broadphase interface that allows coarse collision queries.">GetBroadPhaseQuery()</a>.<a class="el" href="#a7f87f05d94f62054d6f3e975b613d2f0">GetBounds()</a> instead. </p>
- </div>
- </div>
- <a id="a3d621cc72c69b73cdcc13bdb3b0dddc4" name="a3d621cc72c69b73cdcc13bdb3b0dddc4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3d621cc72c69b73cdcc13bdb3b0dddc4">◆ </a></span>GetBroadPhaseQuery()</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_broad_phase_query.html">BroadPhaseQuery</a> & PhysicsSystem::GetBroadPhaseQuery </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>Access to the broadphase interface that allows coarse collision queries. </p>
- </div>
- </div>
- <a id="ae19842257ae5c36c88dd4dbead21e55f" name="ae19842257ae5c36c88dd4dbead21e55f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae19842257ae5c36c88dd4dbead21e55f">◆ </a></span>GetCombineFriction()</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_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a> PhysicsSystem::GetCombineFriction </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="aad39e9dd77faf9b578460b66451334e7" name="aad39e9dd77faf9b578460b66451334e7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aad39e9dd77faf9b578460b66451334e7">◆ </a></span>GetCombineRestitution()</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_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a> PhysicsSystem::GetCombineRestitution </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="a69c9f67351312d43f8e1c1f5d23fdf99" name="a69c9f67351312d43f8e1c1f5d23fdf99"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a69c9f67351312d43f8e1c1f5d23fdf99">◆ </a></span>GetConstraints()</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="_constraint_manager_8h.html#aee2917a71c172c61d1e2d77c1fad813b">Constraints</a> PhysicsSystem::GetConstraints </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 a list of all constraints. </p>
- </div>
- </div>
- <a id="ae7f5894935da5a4652a6d7ac60ad82e0" name="ae7f5894935da5a4652a6d7ac60ad82e0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae7f5894935da5a4652a6d7ac60ad82e0">◆ </a></span>GetContactListener()</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_contact_listener.html">ContactListener</a> * PhysicsSystem::GetContactListener </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="a9473bc5d3e3cd861b58b0db3240b4f1d" name="a9473bc5d3e3cd861b58b0db3240b4f1d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9473bc5d3e3cd861b58b0db3240b4f1d">◆ </a></span>GetDefaultBroadPhaseLayerFilter()</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_default_broad_phase_layer_filter.html">DefaultBroadPhaseLayerFilter</a> PhysicsSystem::GetDefaultBroadPhaseLayerFilter </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></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 an broadphase layer filter that uses the default pair filter and a specified object layer to determine if broadphase layers collide. </p>
- </div>
- </div>
- <a id="adaf3b2dbc230ee329461e47f096ef467" name="adaf3b2dbc230ee329461e47f096ef467"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#adaf3b2dbc230ee329461e47f096ef467">◆ </a></span>GetDefaultLayerFilter()</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_default_object_layer_filter.html">DefaultObjectLayerFilter</a> PhysicsSystem::GetDefaultLayerFilter </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></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 an object layer filter that uses the default pair filter and a specified layer to determine if layers collide. </p>
- </div>
- </div>
- <a id="a73776df14d1f0f10ba9a5fa033eefafd" name="a73776df14d1f0f10ba9a5fa033eefafd"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a73776df14d1f0f10ba9a5fa033eefafd">◆ </a></span>GetGravity()</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_vec3.html">Vec3</a> PhysicsSystem::GetGravity </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="a77646a1768d1cfc892b6238bf614ed9f" name="a77646a1768d1cfc892b6238bf614ed9f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a77646a1768d1cfc892b6238bf614ed9f">◆ </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> PhysicsSystem::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>Get the maximum amount of bodies that this physics system supports. </p>
- </div>
- </div>
- <a id="a1ced58861f3fbb7cfea901128bb7a84d" name="a1ced58861f3fbb7cfea901128bb7a84d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1ced58861f3fbb7cfea901128bb7a84d">◆ </a></span>GetNarrowPhaseQuery()</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_narrow_phase_query.html">NarrowPhaseQuery</a> & PhysicsSystem::GetNarrowPhaseQuery </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>Interface that allows fine collision queries against first the broad phase and then the narrow phase. </p>
- </div>
- </div>
- <a id="a472f122c70806d1a2b88fbb441be42e0" name="a472f122c70806d1a2b88fbb441be42e0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a472f122c70806d1a2b88fbb441be42e0">◆ </a></span>GetNarrowPhaseQueryNoLock()</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_narrow_phase_query.html">NarrowPhaseQuery</a> & PhysicsSystem::GetNarrowPhaseQueryNoLock </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>Version that does not lock the bodies, use with great care! </p>
- </div>
- </div>
- <a id="a294887e565856fe5305419aa4432e33e" name="a294887e565856fe5305419aa4432e33e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a294887e565856fe5305419aa4432e33e">◆ </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> PhysicsSystem::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>Gets the current amount of active bodies that are in the body manager. </p>
- </div>
- </div>
- <a id="a25eb1c752bffdd53c2c7cd610f2708f7" name="a25eb1c752bffdd53c2c7cd610f2708f7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a25eb1c752bffdd53c2c7cd610f2708f7">◆ </a></span>GetNumBodies()</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> PhysicsSystem::GetNumBodies </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 current amount of bodies that are in the body manager. </p>
- </div>
- </div>
- <a id="a22388d52ec600712200a5a5846524c9f" name="a22388d52ec600712200a5a5846524c9f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a22388d52ec600712200a5a5846524c9f">◆ </a></span>GetObjectLayerPairFilter()</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_object_layer_pair_filter.html">ObjectLayerPairFilter</a> & PhysicsSystem::GetObjectLayerPairFilter </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>Object layer filter that decides if two objects can collide, this was passed to the Init function. </p>
- </div>
- </div>
- <a id="a1c8c699488bcc1a11866166e94fc7fe2" name="a1c8c699488bcc1a11866166e94fc7fe2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1c8c699488bcc1a11866166e94fc7fe2">◆ </a></span>GetObjectVsBroadPhaseLayerFilter()</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_object_vs_broad_phase_layer_filter.html">ObjectVsBroadPhaseLayerFilter</a> & PhysicsSystem::GetObjectVsBroadPhaseLayerFilter </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>Broadphase layer filter that decides if two objects can collide, this was passed to the Init function. </p>
- </div>
- </div>
- <a id="a54b6d93365bca8fda1edf68997c29b9e" name="a54b6d93365bca8fda1edf68997c29b9e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a54b6d93365bca8fda1edf68997c29b9e">◆ </a></span>GetPhysicsSettings()</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="struct_physics_settings.html">PhysicsSettings</a> & PhysicsSystem::GetPhysicsSettings </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="afb16db6e1e89f62c2f77ecb7a4022dac" name="afb16db6e1e89f62c2f77ecb7a4022dac"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afb16db6e1e89f62c2f77ecb7a4022dac">◆ </a></span>GetSimCollideBodyVsBody()</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="#a7328fa03c817c65db22f13e36f0ff89a">SimCollideBodyVsBody</a> & PhysicsSystem::GetSimCollideBodyVsBody </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="a0692ef8b6ac3aec8dd3420b9fd35b46b" name="a0692ef8b6ac3aec8dd3420b9fd35b46b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0692ef8b6ac3aec8dd3420b9fd35b46b">◆ </a></span>GetSimShapeFilter()</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_sim_shape_filter.html">SimShapeFilter</a> * PhysicsSystem::GetSimShapeFilter </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="ae0014dc0eb3cf650db692bb24e0c3f75" name="ae0014dc0eb3cf650db692bb24e0c3f75"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae0014dc0eb3cf650db692bb24e0c3f75">◆ </a></span>GetSoftBodyContactListener()</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_soft_body_contact_listener.html">SoftBodyContactListener</a> * PhysicsSystem::GetSoftBodyContactListener </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="ae578fcd0c58f678156b7cd8b44f811a6" name="ae578fcd0c58f678156b7cd8b44f811a6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae578fcd0c58f678156b7cd8b44f811a6">◆ </a></span>Init()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::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"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inMaxBodyPairs</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>inMaxContactConstraints</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>inBroadPhaseLayerInterface</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_vs_broad_phase_layer_filter.html">ObjectVsBroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectVsBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_pair_filter.html">ObjectLayerPairFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerPairFilter</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initialize the system. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inMaxBodies</td><td>Maximum number of bodies to support. </td></tr>
- <tr><td class="paramname">inNumBodyMutexes</td><td>Number of body mutexes to use. Should be a power of 2 in the range [1, 64], use 0 to auto detect. </td></tr>
- <tr><td class="paramname">inMaxBodyPairs</td><td>Maximum amount of body pairs to process (anything else will fall through the world), this number should generally be much higher than the max amount of contact points as there will be lots of bodies close that are not actually touching. </td></tr>
- <tr><td class="paramname">inMaxContactConstraints</td><td>Maximum amount of contact constraints to process (anything else will fall through the world). </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerInterface</td><td>Information on the mapping of object layers to broad phase layers. Since this is a virtual interface, the instance needs to stay alive during the lifetime of the <a class="el" href="class_physics_system.html">PhysicsSystem</a>. </td></tr>
- <tr><td class="paramname">inObjectVsBroadPhaseLayerFilter</td><td>Filter callback function that is used to determine if an object layer collides with a broad phase layer. Since this is a virtual interface, the instance needs to stay alive during the lifetime of the <a class="el" href="class_physics_system.html">PhysicsSystem</a>. </td></tr>
- <tr><td class="paramname">inObjectLayerPairFilter</td><td>Filter callback function that is used to determine if two object layers collide. Since this is a virtual interface, the instance needs to stay alive during the lifetime of the <a class="el" href="class_physics_system.html">PhysicsSystem</a>. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ab3cd9f2562f0f051c032b3bc298d9604" name="ab3cd9f2562f0f051c032b3bc298d9604"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab3cd9f2562f0f051c032b3bc298d9604">◆ </a></span>OptimizeBroadPhase()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::OptimizeBroadPhase </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Optimize the broadphase, needed only if you've added many bodies prior to calling <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">Update()</a> for the first time. Don't call this every frame as <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update</a> spreads out the same work over multiple frames. If you add many bodies through <a class="el" href="class_body_interface.html#aab69381ebd96bc19d152bc8a928e9902">BodyInterface::AddBodiesPrepare</a>/AddBodiesFinalize and if the bodies in a batch are in a roughly unoccupied space (e.g. a new level section) then a call to OptimizeBroadPhase is also not needed as batch adding creates an efficient bounding volume hierarchy. Don't call this function while bodies are being modified from another thread or use the locking <a class="el" href="class_body_interface.html">BodyInterface</a> to modify bodies. </p>
- </div>
- </div>
- <a id="a7cdf5d375a54ab6d6b29e3944d8e4266" name="a7cdf5d375a54ab6d6b29e3944d8e4266"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7cdf5d375a54ab6d6b29e3944d8e4266">◆ </a></span>RemoveConstraint()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::RemoveConstraint </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_constraint.html">Constraint</a> *</td> <td class="paramname"><span class="paramname"><em>inConstraint</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>Remove constraint from the world. </p>
- </div>
- </div>
- <a id="a220ed391139f4ffdb384fe83b44d6439" name="a220ed391139f4ffdb384fe83b44d6439"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a220ed391139f4ffdb384fe83b44d6439">◆ </a></span>RemoveConstraints()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::RemoveConstraints </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_constraint.html">Constraint</a> **</td> <td class="paramname"><span class="paramname"><em>inConstraints</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>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Batch remove constraints. </p>
- </div>
- </div>
- <a id="a00aeeff60505f9baa3dd1ffdfe73c2b3" name="a00aeeff60505f9baa3dd1ffdfe73c2b3"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a00aeeff60505f9baa3dd1ffdfe73c2b3">◆ </a></span>RemoveStepListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::RemoveStepListener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_physics_step_listener.html">PhysicsStepListener</a> *</td> <td class="paramname"><span class="paramname"><em>inListener</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Removes a step listener. </p>
- </div>
- </div>
- <a id="a5865e977575ab65a41ce98e098b897cc" name="a5865e977575ab65a41ce98e098b897cc"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5865e977575ab65a41ce98e098b897cc">◆ </a></span>RestoreBodyState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::RestoreBodyState </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="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>Restoring state of a single body. </p>
- </div>
- </div>
- <a id="a09379b63a92e2e0f449f1665d2aa00be" name="a09379b63a92e2e0f449f1665d2aa00be"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a09379b63a92e2e0f449f1665d2aa00be">◆ </a></span>RestoreState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool PhysicsSystem::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>
- </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><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Restoring state for replay. Returns false if failed. </p>
- </div>
- </div>
- <a id="a29255e6d9124402e08319bfbf81b8509" name="a29255e6d9124402e08319bfbf81b8509"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a29255e6d9124402e08319bfbf81b8509">◆ </a></span>SaveBodyState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::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>Saving state of a single body. </p>
- </div>
- </div>
- <a id="ae13975e609ff125fa02b922795777824" name="ae13975e609ff125fa02b922795777824"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae13975e609ff125fa02b922795777824">◆ </a></span>SaveState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::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"><a class="el" href="_state_recorder_8h.html#ac746db0a34def4dfd77ccd487ae36eb4">EStateRecorderState</a></td> <td class="paramname"><span class="paramname"><em>inState</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="_state_recorder_8h.html#ac746db0a34def4dfd77ccd487ae36eb4ab1c94ca2fbc3e78fc30069c8d0f01680">EStateRecorderState::All</a></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><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Saving state for replay. </p>
- </div>
- </div>
- <a id="a70cb30eef61fa863a426c33b63cd719d" name="a70cb30eef61fa863a426c33b63cd719d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a70cb30eef61fa863a426c33b63cd719d">◆ </a></span>sDefaultSimCollideBodyVsBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::sDefaultSimCollideBodyVsBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>inBody1</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body.html">Body</a> &</td> <td class="paramname"><span class="paramname"><em>inBody2</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform1</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform2</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &</td> <td class="paramname"><span class="paramname"><em>ioCollideShapeSettings</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &</td> <td class="paramname"><span class="paramname"><em>ioCollector</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</em></span> )</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Advanced use only: Default function that is used to collide two bodies during simulation. </p>
- </div>
- </div>
- <a id="ae7c05e21f93638e9b9eb2c52dd6d850f" name="ae7c05e21f93638e9b9eb2c52dd6d850f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae7c05e21f93638e9b9eb2c52dd6d850f">◆ </a></span>SetBodyActivationListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::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>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Listener that is notified whenever a body is activated/deactivated. </p>
- </div>
- </div>
- <a id="ae1cc3e726b7e186f642c7da5f6c6a2c2" name="ae1cc3e726b7e186f642c7da5f6c6a2c2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae1cc3e726b7e186f642c7da5f6c6a2c2">◆ </a></span>SetCombineFriction()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetCombineFriction </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a></td> <td class="paramname"><span class="paramname"><em>inCombineFriction</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>Set the function that combines the friction of two bodies and returns it Default method is the geometric mean: sqrt(friction1 * friction2). </p>
- </div>
- </div>
- <a id="a1bf5312ff70cb942e4899eb0766d5ebe" name="a1bf5312ff70cb942e4899eb0766d5ebe"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1bf5312ff70cb942e4899eb0766d5ebe">◆ </a></span>SetCombineRestitution()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetCombineRestitution </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_contact_constraint_manager.html#ad0b40a0f57d994f32b069744541fce56">ContactConstraintManager::CombineFunction</a></td> <td class="paramname"><span class="paramname"><em>inCombineRestitution</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>Set the function that combines the restitution of two bodies and returns it Default method is max(restitution1, restitution1) </p>
- </div>
- </div>
- <a id="ade7967ad5ff4a67d255cc6fb956943c8" name="ade7967ad5ff4a67d255cc6fb956943c8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ade7967ad5ff4a67d255cc6fb956943c8">◆ </a></span>SetContactListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetContactListener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_contact_listener.html">ContactListener</a> *</td> <td class="paramname"><span class="paramname"><em>inListener</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>Listener that is notified whenever a contact point between two bodies is added/updated/removed. You can't change contact listener during <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update</a> but it can be changed at any other time. </p>
- </div>
- </div>
- <a id="ad09c12009bbcb0d0e6dbfd9582593be4" name="ad09c12009bbcb0d0e6dbfd9582593be4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad09c12009bbcb0d0e6dbfd9582593be4">◆ </a></span>SetGravity()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetGravity </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inGravity</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>Set gravity value. </p>
- </div>
- </div>
- <a id="a2f81c29dfb88dd7e0711caffcd2ebc22" name="a2f81c29dfb88dd7e0711caffcd2ebc22"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2f81c29dfb88dd7e0711caffcd2ebc22">◆ </a></span>SetPhysicsSettings()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetPhysicsSettings </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>inSettings</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>Control the main constants of the physics simulation. </p>
- </div>
- </div>
- <a id="aa20737fdf1b3deb79a4b8da27ef42572" name="aa20737fdf1b3deb79a4b8da27ef42572"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa20737fdf1b3deb79a4b8da27ef42572">◆ </a></span>SetSimCollideBodyVsBody()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetSimCollideBodyVsBody </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="#a7328fa03c817c65db22f13e36f0ff89a">SimCollideBodyVsBody</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyVsBody</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>Advanced use only: Set the function that will be used to collide two bodies during simulation. This function is expected to eventually call <a class="el" href="class_collision_collector.html#a762c35402676662897e50dd8224e496e" title="This function will be called for every hit found, it's up to the application to decide how to store t...">CollideShapeCollector::AddHit</a> all contact points between the shapes of body 1 and 2 in their given transforms. </p>
- </div>
- </div>
- <a id="aa5e3d3dc2758b0ca0bcb6eb8e77bd379" name="aa5e3d3dc2758b0ca0bcb6eb8e77bd379"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa5e3d3dc2758b0ca0bcb6eb8e77bd379">◆ </a></span>SetSimShapeFilter()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetSimShapeFilter </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_sim_shape_filter.html">SimShapeFilter</a> *</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</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>Set/get the shape filter that will be used during simulation. This can be used to exclude shapes within a body from colliding with each other. E.g. if you have a high detail and a low detail collision model, you can attach them to the same body in a <a class="el" href="class_static_compound_shape.html">StaticCompoundShape</a> and use the <a class="el" href="class_shape_filter.html" title="Filter class.">ShapeFilter</a> to exclude the high detail collision model when simulating and exclude the low detail collision model when casting rays. Note that in this case you would need to pass the inverse of inShapeFilter to the CastRay function. Pass a nullptr to disable the shape filter. The <a class="el" href="class_physics_system.html">PhysicsSystem</a> does not own the <a class="el" href="class_shape_filter.html" title="Filter class.">ShapeFilter</a>, make sure it stays alive during the lifetime of the <a class="el" href="class_physics_system.html">PhysicsSystem</a>. </p>
- </div>
- </div>
- <a id="a3077d0538cb694338f8e466b9d36563c" name="a3077d0538cb694338f8e466b9d36563c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3077d0538cb694338f8e466b9d36563c">◆ </a></span>SetSoftBodyContactListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void PhysicsSystem::SetSoftBodyContactListener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_soft_body_contact_listener.html">SoftBodyContactListener</a> *</td> <td class="paramname"><span class="paramname"><em>inListener</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>Listener that is notified whenever a contact point between a soft body and another body. </p>
- </div>
- </div>
- <a id="a4cdc76b2486dfaecfc9319d040e5e5f3" name="a4cdc76b2486dfaecfc9319d040e5e5f3"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4cdc76b2486dfaecfc9319d040e5e5f3">◆ </a></span>Update()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_e_physics_update_error_8h.html#a1df3f14c5cc9f3be49f239b17470aaa1">EPhysicsUpdateError</a> PhysicsSystem::Update </td>
- <td>(</td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inCollisionSteps</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_temp_allocator.html">TempAllocator</a> *</td> <td class="paramname"><span class="paramname"><em>inTempAllocator</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_job_system.html">JobSystem</a> *</td> <td class="paramname"><span class="paramname"><em>inJobSystem</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Simulate the system. The world steps for a total of inDeltaTime seconds. This is divided in inCollisionSteps iterations. Each iteration consists of collision detection followed by an integration step. This function internally spawns jobs using inJobSystem and waits for them to complete, so no jobs will be running when this function returns. The temp allocator is used, for example, to store the list of bodies that are in contact, how they form islands together and data to solve the contacts between bodies. At the end of the Update call, all allocated memory will have been freed. </p>
- </div>
- </div>
- <a id="ad8f5849a90549504d9f1705c324a9a83" name="ad8f5849a90549504d9f1705c324a9a83"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad8f5849a90549504d9f1705c324a9a83">◆ </a></span>WereBodiesInContact()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool PhysicsSystem::WereBodiesInContact </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>inBody1ID</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>inBody2ID</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>Check if 2 bodies were in contact during the last simulation step. Since contacts are only detected between active bodies, so at least one of the bodies must be active in order for this function to work. It queries the state at the time of the last <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update</a> and will return true if the bodies were in contact, even if one of the bodies was moved / removed afterwards. This function can be called from any thread when the <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update</a> is not running. During <a class="el" href="#a4cdc76b2486dfaecfc9319d040e5e5f3">PhysicsSystem::Update</a> this function is only valid during contact callbacks:</p><ul>
- <li>During the <a class="el" href="class_contact_listener.html#aeb1d7908c8556ce24448ac572d7ad944">ContactListener::OnContactAdded</a> callback this function can be used to determine if a different contact pair between the bodies was active in the previous simulation step (function returns true) or if this is the first step that the bodies are touching (function returns false).</li>
- <li>During the <a class="el" href="class_contact_listener.html#aef8f0cac1d560622743420afcd1ce17a">ContactListener::OnContactRemoved</a> callback this function can be used to determine if this is the last contact pair between the bodies (function returns false) or if there are other contacts still present (function returns true). </li>
- </ul>
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a id="a4a042a65f228ed6b39bac9afa3afbe7e" name="a4a042a65f228ed6b39bac9afa3afbe7e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4a042a65f228ed6b39bac9afa3afbe7e">◆ </a></span>cMaxBodiesLimit</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> PhysicsSystem::cMaxBodiesLimit = <a class="el" href="class_body_i_d.html#a89af35f2dfe916c6fa348175c3fb131b">BodyID::cMaxBodyIndex</a> + 1</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The maximum value that can be passed to Init for inMaxBodies. </p>
- </div>
- </div>
- <a id="a5ab58d62cfb1afb084b1ac3b270f8ade" name="a5ab58d62cfb1afb084b1ac3b270f8ade"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5ab58d62cfb1afb084b1ac3b270f8ade">◆ </a></span>cMaxBodyPairsLimit</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> PhysicsSystem::cMaxBodyPairsLimit = ContactConstraintManager::cMaxBodyPairsLimit</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The maximum value that can be passed to Init for inMaxBodyPairs. Note you should really use a lower value, using this value will cost a lot of memory! On a 32 bit platform, you'll run out of memory way before you reach this limit. </p>
- </div>
- </div>
- <a id="afd3f5999113396407e7f46ccfbbf0a61" name="afd3f5999113396407e7f46ccfbbf0a61"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afd3f5999113396407e7f46ccfbbf0a61">◆ </a></span>cMaxContactConstraintsLimit</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> PhysicsSystem::cMaxContactConstraintsLimit = ContactConstraintManager::cMaxContactConstraintsLimit</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The maximum value that can be passed to Init for inMaxContactConstraints. Note you should really use a lower value, using this value will cost a lot of memory! On a 32 bit platform, you'll run out of memory way before you reach this limit. </p>
- </div>
- </div>
- <a id="ab712e87abefb18cec82d9843e60c9bfb" name="ab712e87abefb18cec82d9843e60c9bfb"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab712e87abefb18cec82d9843e60c9bfb">◆ </a></span>sDrawMotionQualityLinearCast</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#ad14098b68b8c44ea6112601031268405">JPH_NAMESPACE_BEGIN</a> bool PhysicsSystem::sDrawMotionQualityLinearCast = false</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Draw debug info for objects that perform continuous collision detection through the linear cast motion quality. </p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li>Jolt/Physics/<a class="el" href="_physics_system_8h_source.html">PhysicsSystem.h</a></li>
- <li>Jolt/Physics/<a class="el" href="_physics_system_8cpp.html">PhysicsSystem.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_physics_system.html">PhysicsSystem</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>
|