| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281 |
- <!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: CharacterVirtual 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_character_virtual.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-attribs">Static Public Attributes</a> |
- <a href="class_character_virtual-members.html">List of all members</a> </div>
- <div class="headertitle"><div class="title">CharacterVirtual Class Reference</div></div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <<a class="el" href="_character_virtual_8h_source.html">CharacterVirtual.h</a>></code></p>
- <div class="dynheader">
- Inheritance diagram for CharacterVirtual:</div>
- <div class="dyncontent">
- <div class="center">
- <img src="class_character_virtual.png" usemap="#CharacterVirtual_map" alt=""/>
- <map id="CharacterVirtual_map" name="CharacterVirtual_map">
- <area href="class_character_base.html" title="Base class for character class." alt="CharacterBase" shape="rect" coords="93,56,269,80"/>
- <area href="class_ref_target.html" alt="RefTarget< CharacterBase >" shape="rect" coords="0,0,176,24"/>
- <area href="class_non_copyable.html" title="Class that makes another class non-copyable. Usage: Inherit from NonCopyable." alt="NonCopyable" shape="rect" coords="186,0,362,24"/>
- </map>
- </div></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
- Classes</h2></td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Encapsulates a collision contact. <a href="struct_character_virtual_1_1_contact.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_virtual_1_1_contact_key.html">ContactKey</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Uniquely identifies a contact between a character and another body or character. <a href="class_character_virtual_1_1_contact_key.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_character_virtual_1_1_extended_update_settings.html">ExtendedUpdateSettings</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Settings struct with settings for ExtendedUpdate. <a href="struct_character_virtual_1_1_extended_update_settings.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
- Public Types</h2></td></tr>
- <tr class="memitem:ac60944f1d2368e0a35b76c224cbb1cac" id="r_ac60944f1d2368e0a35b76c224cbb1cac"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac60944f1d2368e0a35b76c224cbb1cac">TempContactList</a> = <a class="el" href="class_array.html">Array</a><<a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a>, <a class="el" href="class_s_t_l_temp_allocator.html">STLTempAllocator</a><<a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a>>></td></tr>
- <tr class="separator:ac60944f1d2368e0a35b76c224cbb1cac"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8f4e50aacdfa032e1c4ce049c06703c0" id="r_a8f4e50aacdfa032e1c4ce049c06703c0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8f4e50aacdfa032e1c4ce049c06703c0">ContactList</a> = <a class="el" href="class_array.html">Array</a><<a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a>></td></tr>
- <tr class="separator:a8f4e50aacdfa032e1c4ce049c06703c0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_types_class_character_base"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_types_class_character_base')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="class_character_base.html">CharacterBase</a></td></tr>
- <tr class="memitem:a82dfb80348cdbf3a08f97d54b225f77e inherit pub_types_class_character_base" id="r_a82dfb80348cdbf3a08f97d54b225f77e"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77e">EGroundState</a> { <a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77ea2b9beed57034f5727573d7ded76cf777">OnGround</a>
- , <a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77ea50f80f8d96a6d65de73ba8a6b9910761">OnSteepGround</a>
- , <a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77ea9ed2d871602556951e39f3cebd08d6cb">NotSupported</a>
- , <a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77eaee4e669a07b061d70b9b79dfed9cb5e7">InAir</a>
- }</td></tr>
- <tr class="separator:a82dfb80348cdbf3a08f97d54b225f77e inherit pub_types_class_character_base"><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:a13f67f142bec57745727eb33250c1e01" id="r_a13f67f142bec57745727eb33250c1e01"><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="#a13f67f142bec57745727eb33250c1e01">CharacterVirtual</a> (const <a class="el" href="class_character_virtual_settings.html">CharacterVirtualSettings</a> *inSettings, <a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a> inPosition, <a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a> inRotation, <a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> inUserData, <a class="el" href="class_physics_system.html">PhysicsSystem</a> *inSystem)</td></tr>
- <tr class="separator:a13f67f142bec57745727eb33250c1e01"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab1970bba46b2522707111bec95fa9e07" id="r_ab1970bba46b2522707111bec95fa9e07"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1970bba46b2522707111bec95fa9e07">CharacterVirtual</a> (const <a class="el" href="class_character_virtual_settings.html">CharacterVirtualSettings</a> *inSettings, <a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a> inPosition, <a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a> inRotation, <a class="el" href="class_physics_system.html">PhysicsSystem</a> *inSystem)</td></tr>
- <tr class="memdesc:ab1970bba46b2522707111bec95fa9e07"><td class="mdescLeft"> </td><td class="mdescRight">Constructor without user data. <br /></td></tr>
- <tr class="separator:ab1970bba46b2522707111bec95fa9e07"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad932d26de4902065092ee3c6c30bc9de" id="r_ad932d26de4902065092ee3c6c30bc9de"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad932d26de4902065092ee3c6c30bc9de">~CharacterVirtual</a> () override</td></tr>
- <tr class="memdesc:ad932d26de4902065092ee3c6c30bc9de"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
- <tr class="separator:ad932d26de4902065092ee3c6c30bc9de"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af75ef0776d8c6726b25b5a278937780b" id="r_af75ef0776d8c6726b25b5a278937780b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_character_i_d.html">CharacterID</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#af75ef0776d8c6726b25b5a278937780b">GetID</a> () const</td></tr>
- <tr class="memdesc:af75ef0776d8c6726b25b5a278937780b"><td class="mdescLeft"> </td><td class="mdescRight">The ID of this character. <br /></td></tr>
- <tr class="separator:af75ef0776d8c6726b25b5a278937780b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af7bfe39cc6f67eeb4cd8d4d453d8b179" id="r_af7bfe39cc6f67eeb4cd8d4d453d8b179"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af7bfe39cc6f67eeb4cd8d4d453d8b179">SetListener</a> (<a class="el" href="class_character_contact_listener.html">CharacterContactListener</a> *inListener)</td></tr>
- <tr class="memdesc:af7bfe39cc6f67eeb4cd8d4d453d8b179"><td class="mdescLeft"> </td><td class="mdescRight">Set the contact listener. <br /></td></tr>
- <tr class="separator:af7bfe39cc6f67eeb4cd8d4d453d8b179"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aacf19c0b42216d6dc497c20556b642e7" id="r_aacf19c0b42216d6dc497c20556b642e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_character_contact_listener.html">CharacterContactListener</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#aacf19c0b42216d6dc497c20556b642e7">GetListener</a> () const</td></tr>
- <tr class="memdesc:aacf19c0b42216d6dc497c20556b642e7"><td class="mdescLeft"> </td><td class="mdescRight">Get the current contact listener. <br /></td></tr>
- <tr class="separator:aacf19c0b42216d6dc497c20556b642e7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3982b9711188db9d30ee0dab32a81d0b" id="r_a3982b9711188db9d30ee0dab32a81d0b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3982b9711188db9d30ee0dab32a81d0b">SetCharacterVsCharacterCollision</a> (<a class="el" href="class_character_vs_character_collision.html">CharacterVsCharacterCollision</a> *inCharacterVsCharacterCollision)</td></tr>
- <tr class="memdesc:a3982b9711188db9d30ee0dab32a81d0b"><td class="mdescLeft"> </td><td class="mdescRight">Set the character vs character collision interface. <br /></td></tr>
- <tr class="separator:a3982b9711188db9d30ee0dab32a81d0b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9f8aca4dbbb9c926e52ca8b7337c4c71" id="r_a9f8aca4dbbb9c926e52ca8b7337c4c71"><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="#a9f8aca4dbbb9c926e52ca8b7337c4c71">GetLinearVelocity</a> () const</td></tr>
- <tr class="memdesc:a9f8aca4dbbb9c926e52ca8b7337c4c71"><td class="mdescLeft"> </td><td class="mdescRight">Get the linear velocity of the character (m / s) <br /></td></tr>
- <tr class="separator:a9f8aca4dbbb9c926e52ca8b7337c4c71"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a25da7eb8e9ff5316e357cbf59027b57e" id="r_a25da7eb8e9ff5316e357cbf59027b57e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a25da7eb8e9ff5316e357cbf59027b57e">SetLinearVelocity</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inLinearVelocity)</td></tr>
- <tr class="memdesc:a25da7eb8e9ff5316e357cbf59027b57e"><td class="mdescLeft"> </td><td class="mdescRight">Set the linear velocity of the character (m / s) <br /></td></tr>
- <tr class="separator:a25da7eb8e9ff5316e357cbf59027b57e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a24f025912ca62c15e830bd6213129d6b" id="r_a24f025912ca62c15e830bd6213129d6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a24f025912ca62c15e830bd6213129d6b">GetPosition</a> () const</td></tr>
- <tr class="memdesc:a24f025912ca62c15e830bd6213129d6b"><td class="mdescLeft"> </td><td class="mdescRight">Get the position of the character. <br /></td></tr>
- <tr class="separator:a24f025912ca62c15e830bd6213129d6b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af3622b341d017712981d6d26de99fe5c" id="r_af3622b341d017712981d6d26de99fe5c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af3622b341d017712981d6d26de99fe5c">SetPosition</a> (<a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a> inPosition)</td></tr>
- <tr class="memdesc:af3622b341d017712981d6d26de99fe5c"><td class="mdescLeft"> </td><td class="mdescRight">Set the position of the character. <br /></td></tr>
- <tr class="separator:af3622b341d017712981d6d26de99fe5c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afdec9f01a8b449ba9b29f39c42afe0d8" id="r_afdec9f01a8b449ba9b29f39c42afe0d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_quat.html">Quat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#afdec9f01a8b449ba9b29f39c42afe0d8">GetRotation</a> () const</td></tr>
- <tr class="memdesc:afdec9f01a8b449ba9b29f39c42afe0d8"><td class="mdescLeft"> </td><td class="mdescRight">Get the rotation of the character. <br /></td></tr>
- <tr class="separator:afdec9f01a8b449ba9b29f39c42afe0d8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac0b74d1e4ec29a6a4853bc8cbb72578d" id="r_ac0b74d1e4ec29a6a4853bc8cbb72578d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac0b74d1e4ec29a6a4853bc8cbb72578d">SetRotation</a> (<a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a> inRotation)</td></tr>
- <tr class="memdesc:ac0b74d1e4ec29a6a4853bc8cbb72578d"><td class="mdescLeft"> </td><td class="mdescRight">Set the rotation of the character. <br /></td></tr>
- <tr class="separator:ac0b74d1e4ec29a6a4853bc8cbb72578d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a44dfb8aa6d88860b6a4ff094d211871e" id="r_a44dfb8aa6d88860b6a4ff094d211871e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a44dfb8aa6d88860b6a4ff094d211871e">GetCenterOfMassPosition</a> () const</td></tr>
- <tr class="separator:a44dfb8aa6d88860b6a4ff094d211871e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a36a2e0c44e55954fbc62aed4e030ab01" id="r_a36a2e0c44e55954fbc62aed4e030ab01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ab2b99ab2c9bab2170e4744e9fb519625">RMat44</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a36a2e0c44e55954fbc62aed4e030ab01">GetWorldTransform</a> () const</td></tr>
- <tr class="memdesc:a36a2e0c44e55954fbc62aed4e030ab01"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the world transform of the character. <br /></td></tr>
- <tr class="separator:a36a2e0c44e55954fbc62aed4e030ab01"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aad9788892410b982d43bbd34ef8a016c" id="r_aad9788892410b982d43bbd34ef8a016c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ab2b99ab2c9bab2170e4744e9fb519625">RMat44</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aad9788892410b982d43bbd34ef8a016c">GetCenterOfMassTransform</a> () const</td></tr>
- <tr class="memdesc:aad9788892410b982d43bbd34ef8a016c"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the transform for this character's center of mass. <br /></td></tr>
- <tr class="separator:aad9788892410b982d43bbd34ef8a016c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1ae032d5f31f955686e3c519abfaa1a4" id="r_a1ae032d5f31f955686e3c519abfaa1a4"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ae032d5f31f955686e3c519abfaa1a4">GetMass</a> () const</td></tr>
- <tr class="memdesc:a1ae032d5f31f955686e3c519abfaa1a4"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="class_character.html">Character</a> mass (kg) <br /></td></tr>
- <tr class="separator:a1ae032d5f31f955686e3c519abfaa1a4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a93a6110e80e08ef092d7f010a45e3bb5" id="r_a93a6110e80e08ef092d7f010a45e3bb5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a93a6110e80e08ef092d7f010a45e3bb5">SetMass</a> (float inMass)</td></tr>
- <tr class="separator:a93a6110e80e08ef092d7f010a45e3bb5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6d11baa32abe7ab7f75100daca4fda2c" id="r_a6d11baa32abe7ab7f75100daca4fda2c"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d11baa32abe7ab7f75100daca4fda2c">GetMaxStrength</a> () const</td></tr>
- <tr class="memdesc:a6d11baa32abe7ab7f75100daca4fda2c"><td class="mdescLeft"> </td><td class="mdescRight">Maximum force with which the character can push other bodies (N) <br /></td></tr>
- <tr class="separator:a6d11baa32abe7ab7f75100daca4fda2c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5e3e1a90e94534669194d929a4f15700" id="r_a5e3e1a90e94534669194d929a4f15700"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5e3e1a90e94534669194d929a4f15700">SetMaxStrength</a> (float inMaxStrength)</td></tr>
- <tr class="separator:a5e3e1a90e94534669194d929a4f15700"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2407cd5fec2965214f0d9c3c27eb47ca" id="r_a2407cd5fec2965214f0d9c3c27eb47ca"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2407cd5fec2965214f0d9c3c27eb47ca">GetPenetrationRecoverySpeed</a> () const</td></tr>
- <tr class="memdesc:a2407cd5fec2965214f0d9c3c27eb47ca"><td class="mdescLeft"> </td><td class="mdescRight">This value governs how fast a penetration will be resolved, 0 = nothing is resolved, 1 = everything in one update. <br /></td></tr>
- <tr class="separator:a2407cd5fec2965214f0d9c3c27eb47ca"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad767e40abd649085a9b2d8df813dbc8c" id="r_ad767e40abd649085a9b2d8df813dbc8c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad767e40abd649085a9b2d8df813dbc8c">SetPenetrationRecoverySpeed</a> (float inSpeed)</td></tr>
- <tr class="separator:ad767e40abd649085a9b2d8df813dbc8c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9e39a28dbce389399848347dbf95956a" id="r_a9e39a28dbce389399848347dbf95956a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e39a28dbce389399848347dbf95956a">GetEnhancedInternalEdgeRemoval</a> () const</td></tr>
- <tr class="memdesc:a9e39a28dbce389399848347dbf95956a"><td class="mdescLeft"> </td><td class="mdescRight">Set to indicate that extra effort should be made to try to remove ghost contacts (collisions with internal edges of a mesh). This is more expensive but makes bodies move smoother over a mesh with convex edges. <br /></td></tr>
- <tr class="separator:a9e39a28dbce389399848347dbf95956a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1596c6b7df4854e170f59416c67aeabc" id="r_a1596c6b7df4854e170f59416c67aeabc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1596c6b7df4854e170f59416c67aeabc">SetEnhancedInternalEdgeRemoval</a> (bool inApply)</td></tr>
- <tr class="separator:a1596c6b7df4854e170f59416c67aeabc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a643ed04caa01ba9e4e4fc9d5058dc3d7" id="r_a643ed04caa01ba9e4e4fc9d5058dc3d7"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a643ed04caa01ba9e4e4fc9d5058dc3d7">GetCharacterPadding</a> () const</td></tr>
- <tr class="memdesc:a643ed04caa01ba9e4e4fc9d5058dc3d7"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="class_character.html">Character</a> padding. <br /></td></tr>
- <tr class="separator:a643ed04caa01ba9e4e4fc9d5058dc3d7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6b037237b95355079f9aca7904899004" id="r_a6b037237b95355079f9aca7904899004"><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="#a6b037237b95355079f9aca7904899004">GetMaxNumHits</a> () const</td></tr>
- <tr class="memdesc:a6b037237b95355079f9aca7904899004"><td class="mdescLeft"> </td><td class="mdescRight">Max num hits to collect in order to avoid excess of contact points collection. <br /></td></tr>
- <tr class="separator:a6b037237b95355079f9aca7904899004"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a683ab8265d9c39c512864b8041c675aa" id="r_a683ab8265d9c39c512864b8041c675aa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a683ab8265d9c39c512864b8041c675aa">SetMaxNumHits</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inMaxHits)</td></tr>
- <tr class="separator:a683ab8265d9c39c512864b8041c675aa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae8dcc6de2efd2ad646722e92ed1ba38a" id="r_ae8dcc6de2efd2ad646722e92ed1ba38a"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae8dcc6de2efd2ad646722e92ed1ba38a">GetHitReductionCosMaxAngle</a> () const</td></tr>
- <tr class="memdesc:ae8dcc6de2efd2ad646722e92ed1ba38a"><td class="mdescLeft"> </td><td class="mdescRight">Cos(angle) where angle is the maximum angle between two hits contact normals that are allowed to be merged during hit reduction. Default is around 2.5 degrees. Set to -1 to turn off. <br /></td></tr>
- <tr class="separator:ae8dcc6de2efd2ad646722e92ed1ba38a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac74cd57b392ad9570e419251ce2d70c8" id="r_ac74cd57b392ad9570e419251ce2d70c8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac74cd57b392ad9570e419251ce2d70c8">SetHitReductionCosMaxAngle</a> (float inCosMaxAngle)</td></tr>
- <tr class="separator:ac74cd57b392ad9570e419251ce2d70c8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4bcaf2938288d8a8cbf907f74851b109" id="r_a4bcaf2938288d8a8cbf907f74851b109"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4bcaf2938288d8a8cbf907f74851b109">GetMaxHitsExceeded</a> () const</td></tr>
- <tr class="separator:a4bcaf2938288d8a8cbf907f74851b109"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad36f1869421eeee298f3230d27841071" id="r_ad36f1869421eeee298f3230d27841071"><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="#ad36f1869421eeee298f3230d27841071">GetShapeOffset</a> () const</td></tr>
- <tr class="memdesc:ad36f1869421eeee298f3230d27841071"><td class="mdescLeft"> </td><td class="mdescRight">An extra offset applied to the shape in local space. This allows applying an extra offset to the shape in local space. Note that setting it on the fly can cause the shape to teleport into collision. <br /></td></tr>
- <tr class="separator:ad36f1869421eeee298f3230d27841071"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6fd639e0938a0c068ff683a33ee613c9" id="r_a6fd639e0938a0c068ff683a33ee613c9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6fd639e0938a0c068ff683a33ee613c9">SetShapeOffset</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inShapeOffset)</td></tr>
- <tr class="separator:a6fd639e0938a0c068ff683a33ee613c9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acc49b466797667ae5f4bb1ee44e83b2e" id="r_acc49b466797667ae5f4bb1ee44e83b2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#acc49b466797667ae5f4bb1ee44e83b2e">GetUserData</a> () const</td></tr>
- <tr class="memdesc:acc49b466797667ae5f4bb1ee44e83b2e"><td class="mdescLeft"> </td><td class="mdescRight">Access to the user data, can be used for anything by the application. <br /></td></tr>
- <tr class="separator:acc49b466797667ae5f4bb1ee44e83b2e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a06b2c2e7446c66a85bc7314f5b4fd71e" id="r_a06b2c2e7446c66a85bc7314f5b4fd71e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a06b2c2e7446c66a85bc7314f5b4fd71e">SetUserData</a> (<a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> inUserData)</td></tr>
- <tr class="separator:a06b2c2e7446c66a85bc7314f5b4fd71e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7d6637e5d42ab04152b831b609014af1" id="r_a7d6637e5d42ab04152b831b609014af1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_i_d.html">BodyID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d6637e5d42ab04152b831b609014af1">GetInnerBodyID</a> () const</td></tr>
- <tr class="memdesc:a7d6637e5d42ab04152b831b609014af1"><td class="mdescLeft"> </td><td class="mdescRight">Optional inner rigid body that proxies the character in the world. Can be used to update body properties. <br /></td></tr>
- <tr class="separator:a7d6637e5d42ab04152b831b609014af1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1e8c56bb848a852be4e63806fe6a74c6" id="r_a1e8c56bb848a852be4e63806fe6a74c6"><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="#a1e8c56bb848a852be4e63806fe6a74c6">CancelVelocityTowardsSteepSlopes</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inDesiredVelocity) const</td></tr>
- <tr class="separator:a1e8c56bb848a852be4e63806fe6a74c6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae19d53e08b67cbc8d17f856358b20593" id="r_ae19d53e08b67cbc8d17f856358b20593"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae19d53e08b67cbc8d17f856358b20593">StartTrackingContactChanges</a> ()</td></tr>
- <tr class="separator:ae19d53e08b67cbc8d17f856358b20593"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7d731dad1d56cc0a96d511ce89fd0ee9" id="r_a7d731dad1d56cc0a96d511ce89fd0ee9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d731dad1d56cc0a96d511ce89fd0ee9">FinishTrackingContactChanges</a> ()</td></tr>
- <tr class="memdesc:a7d731dad1d56cc0a96d511ce89fd0ee9"><td class="mdescLeft"> </td><td class="mdescRight">This call triggers contact removal callbacks and is used in conjunction with StartTrackingContactChanges. <br /></td></tr>
- <tr class="separator:a7d731dad1d56cc0a96d511ce89fd0ee9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab9ce165035699a776a9d0b3e570def01" id="r_ab9ce165035699a776a9d0b3e570def01"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab9ce165035699a776a9d0b3e570def01">Update</a> (float inDeltaTime, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inGravity, const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter, <a class="el" href="class_temp_allocator.html">TempAllocator</a> &inAllocator)</td></tr>
- <tr class="separator:ab9ce165035699a776a9d0b3e570def01"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af44f8072c8e2687bbc20452b608fc5fe" id="r_af44f8072c8e2687bbc20452b608fc5fe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#af44f8072c8e2687bbc20452b608fc5fe">CanWalkStairs</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inLinearVelocity) const</td></tr>
- <tr class="separator:af44f8072c8e2687bbc20452b608fc5fe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7b92d577e9abb6193f971e26df9964f7" id="r_a7b92d577e9abb6193f971e26df9964f7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7b92d577e9abb6193f971e26df9964f7">WalkStairs</a> (float inDeltaTime, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inStepUp, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inStepForward, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inStepForwardTest, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inStepDownExtra, const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter, <a class="el" href="class_temp_allocator.html">TempAllocator</a> &inAllocator)</td></tr>
- <tr class="separator:a7b92d577e9abb6193f971e26df9964f7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a994b7c0aa38c4930117253eafdd9c9b9" id="r_a994b7c0aa38c4930117253eafdd9c9b9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a994b7c0aa38c4930117253eafdd9c9b9">StickToFloor</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inStepDown, const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter, <a class="el" href="class_temp_allocator.html">TempAllocator</a> &inAllocator)</td></tr>
- <tr class="separator:a994b7c0aa38c4930117253eafdd9c9b9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae03c43c12e8eb6496b8c8044c70b591f" id="r_ae03c43c12e8eb6496b8c8044c70b591f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae03c43c12e8eb6496b8c8044c70b591f">ExtendedUpdate</a> (float inDeltaTime, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inGravity, const <a class="el" href="struct_character_virtual_1_1_extended_update_settings.html">ExtendedUpdateSettings</a> &inSettings, const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter, <a class="el" href="class_temp_allocator.html">TempAllocator</a> &inAllocator)</td></tr>
- <tr class="separator:ae03c43c12e8eb6496b8c8044c70b591f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a09ecc3efc44b912eca30d9dbc05cc558" id="r_a09ecc3efc44b912eca30d9dbc05cc558"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a09ecc3efc44b912eca30d9dbc05cc558">RefreshContacts</a> (const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter, <a class="el" href="class_temp_allocator.html">TempAllocator</a> &inAllocator)</td></tr>
- <tr class="memdesc:a09ecc3efc44b912eca30d9dbc05cc558"><td class="mdescLeft"> </td><td class="mdescRight">This function can be used after a character has teleported to determine the new contacts with the world. <br /></td></tr>
- <tr class="separator:a09ecc3efc44b912eca30d9dbc05cc558"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5817d937424e252d406f71f0ba8771da" id="r_a5817d937424e252d406f71f0ba8771da"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5817d937424e252d406f71f0ba8771da">UpdateGroundVelocity</a> ()</td></tr>
- <tr class="separator:a5817d937424e252d406f71f0ba8771da"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8149fcb7a9f932dd5154e23588e20763" id="r_a8149fcb7a9f932dd5154e23588e20763"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8149fcb7a9f932dd5154e23588e20763">SetShape</a> (const <a class="el" href="class_shape.html">Shape</a> *inShape, float inMaxPenetrationDepth, const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter, <a class="el" href="class_temp_allocator.html">TempAllocator</a> &inAllocator)</td></tr>
- <tr class="separator:a8149fcb7a9f932dd5154e23588e20763"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af94e73cd650ddac2b76b55d18dca302e" id="r_af94e73cd650ddac2b76b55d18dca302e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af94e73cd650ddac2b76b55d18dca302e">SetInnerBodyShape</a> (const <a class="el" href="class_shape.html">Shape</a> *inShape)</td></tr>
- <tr class="memdesc:af94e73cd650ddac2b76b55d18dca302e"><td class="mdescLeft"> </td><td class="mdescRight">Updates the shape of the inner rigid body. Should be called after a successful call to SetShape. <br /></td></tr>
- <tr class="separator:af94e73cd650ddac2b76b55d18dca302e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a181bbafd30966b7ecc4313283c3a1252" id="r_a181bbafd30966b7ecc4313283c3a1252"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_transformed_shape.html">TransformedShape</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a181bbafd30966b7ecc4313283c3a1252">GetTransformedShape</a> () const</td></tr>
- <tr class="memdesc:a181bbafd30966b7ecc4313283c3a1252"><td class="mdescLeft"> </td><td class="mdescRight">Get the transformed shape that represents the volume of the character, can be used for collision checks. <br /></td></tr>
- <tr class="separator:a181bbafd30966b7ecc4313283c3a1252"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae70222c609c35c1acd94b9fc24e03681" id="r_ae70222c609c35c1acd94b9fc24e03681"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae70222c609c35c1acd94b9fc24e03681">CheckCollision</a> (<a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a> inPosition, <a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a> inRotation, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inMovementDirection, float inMaxSeparationDistance, const <a class="el" href="class_shape.html">Shape</a> *inShape, <a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a> inBaseOffset, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &ioCollector, const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &inBroadPhaseLayerFilter, const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &inObjectLayerFilter, const <a class="el" href="class_body_filter.html">BodyFilter</a> &inBodyFilter, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &inShapeFilter) const</td></tr>
- <tr class="memdesc:ae70222c609c35c1acd94b9fc24e03681"><td class="mdescLeft"> </td><td class="mdescRight">Get all contacts for the character at a particular location. When colliding with another character virtual, this pointer will be provided through CollideShapeCollector::SetUserContext before adding a hit. <br /></td></tr>
- <tr class="separator:ae70222c609c35c1acd94b9fc24e03681"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af8832e55cbaa6341de83e6e440bcf7f1" id="r_af8832e55cbaa6341de83e6e440bcf7f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_character_virtual_settings.html">CharacterVirtualSettings</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af8832e55cbaa6341de83e6e440bcf7f1">GetCharacterVirtualSettings</a> () const</td></tr>
- <tr class="memdesc:af8832e55cbaa6341de83e6e440bcf7f1"><td class="mdescLeft"> </td><td class="mdescRight">Get the character settings that can recreate this character. <br /></td></tr>
- <tr class="separator:af8832e55cbaa6341de83e6e440bcf7f1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4eec1547ca605d2556bf781237b40ee7" id="r_a4eec1547ca605d2556bf781237b40ee7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4eec1547ca605d2556bf781237b40ee7">SaveState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream) const override</td></tr>
- <tr class="separator:a4eec1547ca605d2556bf781237b40ee7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a34ce1577ff0641d5a326af721a3c9b71" id="r_a34ce1577ff0641d5a326af721a3c9b71"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a34ce1577ff0641d5a326af721a3c9b71">RestoreState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &inStream) override</td></tr>
- <tr class="separator:a34ce1577ff0641d5a326af721a3c9b71"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2fcecdf5b3e0f584f2bb7ec5a128dbe6" id="r_a2fcecdf5b3e0f584f2bb7ec5a128dbe6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="#a8f4e50aacdfa032e1c4ce049c06703c0">ContactList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2fcecdf5b3e0f584f2bb7ec5a128dbe6">GetActiveContacts</a> () const</td></tr>
- <tr class="separator:a2fcecdf5b3e0f584f2bb7ec5a128dbe6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a59a36680856b7f106bbad79345c1525b" id="r_a59a36680856b7f106bbad79345c1525b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a59a36680856b7f106bbad79345c1525b">HasCollidedWith</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &inBody) const</td></tr>
- <tr class="memdesc:a59a36680856b7f106bbad79345c1525b"><td class="mdescLeft"> </td><td class="mdescRight">Check if the character is currently in contact with or has collided with another body in the last operation (e.g. Update or WalkStairs) <br /></td></tr>
- <tr class="separator:a59a36680856b7f106bbad79345c1525b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9eadc62aef211d711e9856437d407c4b" id="r_a9eadc62aef211d711e9856437d407c4b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9eadc62aef211d711e9856437d407c4b">HasCollidedWith</a> (const <a class="el" href="class_character_i_d.html">CharacterID</a> &inCharacterID) const</td></tr>
- <tr class="memdesc:a9eadc62aef211d711e9856437d407c4b"><td class="mdescLeft"> </td><td class="mdescRight">Check if the character is currently in contact with or has collided with another character in the last time step (e.g. Update or WalkStairs) <br /></td></tr>
- <tr class="separator:a9eadc62aef211d711e9856437d407c4b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adacc8eaa741dfd330fbf2d58fa4b7541" id="r_adacc8eaa741dfd330fbf2d58fa4b7541"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#adacc8eaa741dfd330fbf2d58fa4b7541">HasCollidedWith</a> (const <a class="el" href="class_character_virtual.html">CharacterVirtual</a> *inCharacter) const</td></tr>
- <tr class="memdesc:adacc8eaa741dfd330fbf2d58fa4b7541"><td class="mdescLeft"> </td><td class="mdescRight">Check if the character is currently in contact with or has collided with another character in the last time step (e.g. Update or WalkStairs) <br /></td></tr>
- <tr class="separator:adacc8eaa741dfd330fbf2d58fa4b7541"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_character_base"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_character_base')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_character_base.html">CharacterBase</a></td></tr>
- <tr class="memitem:ae105fe52be09ccb14a7e7aa57b83e8ca inherit pub_methods_class_character_base" id="r_ae105fe52be09ccb14a7e7aa57b83e8ca"><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="class_character_base.html#ae105fe52be09ccb14a7e7aa57b83e8ca">CharacterBase</a> (const <a class="el" href="class_character_base_settings.html">CharacterBaseSettings</a> *inSettings, <a class="el" href="class_physics_system.html">PhysicsSystem</a> *inSystem)</td></tr>
- <tr class="memdesc:ae105fe52be09ccb14a7e7aa57b83e8ca inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br /></td></tr>
- <tr class="separator:ae105fe52be09ccb14a7e7aa57b83e8ca inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5e0ba80e28b9e012acf7b8c1fa605ef5 inherit pub_methods_class_character_base" id="r_a5e0ba80e28b9e012acf7b8c1fa605ef5"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a5e0ba80e28b9e012acf7b8c1fa605ef5">~CharacterBase</a> ()=default</td></tr>
- <tr class="memdesc:a5e0ba80e28b9e012acf7b8c1fa605ef5 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
- <tr class="separator:a5e0ba80e28b9e012acf7b8c1fa605ef5 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0c2099dfbf12c1bd6f839a3eda5c9726 inherit pub_methods_class_character_base" id="r_a0c2099dfbf12c1bd6f839a3eda5c9726"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a0c2099dfbf12c1bd6f839a3eda5c9726">SetMaxSlopeAngle</a> (float inMaxSlopeAngle)</td></tr>
- <tr class="memdesc:a0c2099dfbf12c1bd6f839a3eda5c9726 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Set the maximum angle of slope that character can still walk on (radians) <br /></td></tr>
- <tr class="separator:a0c2099dfbf12c1bd6f839a3eda5c9726 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa7d43079f3b6c40c3fa1ccc30a8682bf inherit pub_methods_class_character_base" id="r_aa7d43079f3b6c40c3fa1ccc30a8682bf"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#aa7d43079f3b6c40c3fa1ccc30a8682bf">GetCosMaxSlopeAngle</a> () const</td></tr>
- <tr class="separator:aa7d43079f3b6c40c3fa1ccc30a8682bf inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a46d5822b95a5e771adc1e33f1f9b891c inherit pub_methods_class_character_base" id="r_a46d5822b95a5e771adc1e33f1f9b891c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a46d5822b95a5e771adc1e33f1f9b891c">SetUp</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inUp)</td></tr>
- <tr class="memdesc:a46d5822b95a5e771adc1e33f1f9b891c inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Set the up vector for the character. <br /></td></tr>
- <tr class="separator:a46d5822b95a5e771adc1e33f1f9b891c inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2a437049ade0a3ab8ab7aeafb64f5163 inherit pub_methods_class_character_base" id="r_a2a437049ade0a3ab8ab7aeafb64f5163"><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="class_character_base.html#a2a437049ade0a3ab8ab7aeafb64f5163">GetUp</a> () const</td></tr>
- <tr class="separator:a2a437049ade0a3ab8ab7aeafb64f5163 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a87e7e3bcc174d5e498844dcac7f7f173 inherit pub_methods_class_character_base" id="r_a87e7e3bcc174d5e498844dcac7f7f173"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a87e7e3bcc174d5e498844dcac7f7f173">IsSlopeTooSteep</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inNormal) const</td></tr>
- <tr class="memdesc:a87e7e3bcc174d5e498844dcac7f7f173 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Check if the normal of the ground surface is too steep to walk on. <br /></td></tr>
- <tr class="separator:a87e7e3bcc174d5e498844dcac7f7f173 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afe046cfb3333be1fcb186f42821ddb19 inherit pub_methods_class_character_base" id="r_afe046cfb3333be1fcb186f42821ddb19"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_shape.html">Shape</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#afe046cfb3333be1fcb186f42821ddb19">GetShape</a> () const</td></tr>
- <tr class="memdesc:afe046cfb3333be1fcb186f42821ddb19 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Get the current shape that the character is using. <br /></td></tr>
- <tr class="separator:afe046cfb3333be1fcb186f42821ddb19 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab8ce7589bd0e97901030bceeda7a513b inherit pub_methods_class_character_base" id="r_ab8ce7589bd0e97901030bceeda7a513b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77e">EGroundState</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#ab8ce7589bd0e97901030bceeda7a513b">GetGroundState</a> () const</td></tr>
- <tr class="memdesc:ab8ce7589bd0e97901030bceeda7a513b inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Current ground state. <br /></td></tr>
- <tr class="separator:ab8ce7589bd0e97901030bceeda7a513b inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a700e706b9c1710409fc16c6f9a083e0b inherit pub_methods_class_character_base" id="r_a700e706b9c1710409fc16c6f9a083e0b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a700e706b9c1710409fc16c6f9a083e0b">IsSupported</a> () const</td></tr>
- <tr class="memdesc:a700e706b9c1710409fc16c6f9a083e0b inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the player is supported by normal or steep ground. <br /></td></tr>
- <tr class="separator:a700e706b9c1710409fc16c6f9a083e0b inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0ecc9be497c5fc46bef4277a734a691a inherit pub_methods_class_character_base" id="r_a0ecc9be497c5fc46bef4277a734a691a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a0ecc9be497c5fc46bef4277a734a691a">GetGroundPosition</a> () const</td></tr>
- <tr class="memdesc:a0ecc9be497c5fc46bef4277a734a691a inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Get the contact point with the ground. <br /></td></tr>
- <tr class="separator:a0ecc9be497c5fc46bef4277a734a691a inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adde62ba706430b59595bb8d56731eaa8 inherit pub_methods_class_character_base" id="r_adde62ba706430b59595bb8d56731eaa8"><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="class_character_base.html#adde62ba706430b59595bb8d56731eaa8">GetGroundNormal</a> () const</td></tr>
- <tr class="memdesc:adde62ba706430b59595bb8d56731eaa8 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Get the contact normal with the ground. <br /></td></tr>
- <tr class="separator:adde62ba706430b59595bb8d56731eaa8 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a692578285569b48d19d53684360a5656 inherit pub_methods_class_character_base" id="r_a692578285569b48d19d53684360a5656"><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="class_character_base.html#a692578285569b48d19d53684360a5656">GetGroundVelocity</a> () const</td></tr>
- <tr class="memdesc:a692578285569b48d19d53684360a5656 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Velocity in world space of ground. <br /></td></tr>
- <tr class="separator:a692578285569b48d19d53684360a5656 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac4771494235c54165b6b4c9ad64dcdc8 inherit pub_methods_class_character_base" id="r_ac4771494235c54165b6b4c9ad64dcdc8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_physics_material.html">PhysicsMaterial</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#ac4771494235c54165b6b4c9ad64dcdc8">GetGroundMaterial</a> () const</td></tr>
- <tr class="memdesc:ac4771494235c54165b6b4c9ad64dcdc8 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Material that the character is standing on. <br /></td></tr>
- <tr class="separator:ac4771494235c54165b6b4c9ad64dcdc8 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab677215920d0b4cd10874b3a56a35026 inherit pub_methods_class_character_base" id="r_ab677215920d0b4cd10874b3a56a35026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_i_d.html">BodyID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#ab677215920d0b4cd10874b3a56a35026">GetGroundBodyID</a> () const</td></tr>
- <tr class="memdesc:ab677215920d0b4cd10874b3a56a35026 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="class_body_i_d.html" title="ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...">BodyID</a> of the object the character is standing on. Note may have been removed! <br /></td></tr>
- <tr class="separator:ab677215920d0b4cd10874b3a56a35026 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2ab264ce1b5888134b38177f71a81f91 inherit pub_methods_class_character_base" id="r_a2ab264ce1b5888134b38177f71a81f91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sub_shape_i_d.html">SubShapeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a2ab264ce1b5888134b38177f71a81f91">GetGroundSubShapeID</a> () const</td></tr>
- <tr class="memdesc:a2ab264ce1b5888134b38177f71a81f91 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Sub part of the body that we're standing on. <br /></td></tr>
- <tr class="separator:a2ab264ce1b5888134b38177f71a81f91 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae8c2a236d46c2e362021c1ab3364c432 inherit pub_methods_class_character_base" id="r_ae8c2a236d46c2e362021c1ab3364c432"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#ae8c2a236d46c2e362021c1ab3364c432">GetGroundUserData</a> () const</td></tr>
- <tr class="memdesc:ae8c2a236d46c2e362021c1ab3364c432 inherit pub_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">User data value of the body that we're standing on. <br /></td></tr>
- <tr class="separator:ae8c2a236d46c2e362021c1ab3364c432 inherit pub_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_ref_target')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_ref_target.html">RefTarget< CharacterBase ></a></td></tr>
- <tr class="memitem:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target" id="r_a4c8a23738e2e1dd6369520a30e250b17"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a4c8a23738e2e1dd6369520a30e250b17">RefTarget</a> ()=default</td></tr>
- <tr class="memdesc:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br /></td></tr>
- <tr class="separator:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target" id="r_a50444e3b659c6f93c64aee224a93f6ab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a50444e3b659c6f93c64aee224a93f6ab">RefTarget</a> (const <a class="el" href="class_ref_target.html">RefTarget</a> &)</td></tr>
- <tr class="separator:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target" id="r_ac3110b9f511287f881d7afaf26871e1b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#ac3110b9f511287f881d7afaf26871e1b">~RefTarget</a> ()</td></tr>
- <tr class="memdesc:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">assert no one is referencing us <br /></td></tr>
- <tr class="separator:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target" id="r_a3befa746ea517453572f6f4f5fc3b099"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a3befa746ea517453572f6f4f5fc3b099">SetEmbedded</a> () const</td></tr>
- <tr class="separator:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target" id="r_a1fc15bfe979bc43a7fa71c7c34f87ed0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref_target.html">RefTarget</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a1fc15bfe979bc43a7fa71c7c34f87ed0">operator=</a> (const <a class="el" href="class_ref_target.html">RefTarget</a> &)</td></tr>
- <tr class="memdesc:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <br /></td></tr>
- <tr class="separator:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target" id="r_acaf07366183c51cd8460c7d3dcd07c2d"><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="class_ref_target.html#acaf07366183c51cd8460c7d3dcd07c2d">GetRefCount</a> () const</td></tr>
- <tr class="memdesc:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Get current refcount of this object. <br /></td></tr>
- <tr class="separator:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target" id="r_acf02c18a343bc9de9d6afb7c966f0363"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#acf02c18a343bc9de9d6afb7c966f0363">AddRef</a> () const</td></tr>
- <tr class="memdesc:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Add or release a reference to this object. <br /></td></tr>
- <tr class="separator:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target" id="r_a0451661dd5d85b01f969319e767993eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a0451661dd5d85b01f969319e767993eb">Release</a> () const</td></tr>
- <tr class="separator:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target"><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-attribs" name="pub-static-attribs"></a>
- Static Public Attributes</h2></td></tr>
- <tr class="memitem:aba0e60ca84ea36613fc54800b4fee7e2" id="r_aba0e60ca84ea36613fc54800b4fee7e2"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#aba0e60ca84ea36613fc54800b4fee7e2">sDrawConstraints</a> = false</td></tr>
- <tr class="memdesc:aba0e60ca84ea36613fc54800b4fee7e2"><td class="mdescLeft"> </td><td class="mdescRight">Draw the current state of the constraints for iteration 0 when creating them. <br /></td></tr>
- <tr class="separator:aba0e60ca84ea36613fc54800b4fee7e2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab3667a21e5aab369907773ed056c74a9" id="r_ab3667a21e5aab369907773ed056c74a9"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3667a21e5aab369907773ed056c74a9">sDrawWalkStairs</a> = false</td></tr>
- <tr class="memdesc:ab3667a21e5aab369907773ed056c74a9"><td class="mdescLeft"> </td><td class="mdescRight">Draw the state of the walk stairs algorithm. <br /></td></tr>
- <tr class="separator:ab3667a21e5aab369907773ed056c74a9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab2cf324c0dfc9c7275d985f94f663a84" id="r_ab2cf324c0dfc9c7275d985f94f663a84"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab2cf324c0dfc9c7275d985f94f663a84">sDrawStickToFloor</a> = false</td></tr>
- <tr class="memdesc:ab2cf324c0dfc9c7275d985f94f663a84"><td class="mdescLeft"> </td><td class="mdescRight">Draw the state of the stick to floor algorithm. <br /></td></tr>
- <tr class="separator:ab2cf324c0dfc9c7275d985f94f663a84"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
- Additional Inherited Members</h2></td></tr>
- <tr class="inherit_header pub_static_methods_class_character_base"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_class_character_base')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="class_character_base.html">CharacterBase</a></td></tr>
- <tr class="memitem:a269b97a0088e3651387c10f350d792cd inherit pub_static_methods_class_character_base" id="r_a269b97a0088e3651387c10f350d792cd"><td class="memItemLeft" align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a269b97a0088e3651387c10f350d792cd">sToString</a> (<a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77e">EGroundState</a> inState)</td></tr>
- <tr class="memdesc:a269b97a0088e3651387c10f350d792cd inherit pub_static_methods_class_character_base"><td class="mdescLeft"> </td><td class="mdescRight">Debug function to convert enum values to string. <br /></td></tr>
- <tr class="separator:a269b97a0088e3651387c10f350d792cd inherit pub_static_methods_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_static_methods_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_class_ref_target')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="class_ref_target.html">RefTarget< CharacterBase ></a></td></tr>
- <tr class="memitem:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target" id="r_a58b5a94748691b18ecf651ce918ae743"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a58b5a94748691b18ecf651ce918ae743">sInternalGetRefCountOffset</a> ()</td></tr>
- <tr class="memdesc:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">INTERNAL HELPER FUNCTION USED BY SERIALIZATION. <br /></td></tr>
- <tr class="separator:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_attribs_class_character_base"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_class_character_base')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="class_character_base.html">CharacterBase</a></td></tr>
- <tr class="memitem:ac6c3f8f7a2492d0c0f2eac85a9cc5a01 inherit pro_attribs_class_character_base" id="r_ac6c3f8f7a2492d0c0f2eac85a9cc5a01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_physics_system.html">PhysicsSystem</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#ac6c3f8f7a2492d0c0f2eac85a9cc5a01">mSystem</a></td></tr>
- <tr class="separator:ac6c3f8f7a2492d0c0f2eac85a9cc5a01 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5c10220e06a8a5bb274a4b02c28cb0b6 inherit pro_attribs_class_character_base" id="r_a5c10220e06a8a5bb274a4b02c28cb0b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref_const.html">RefConst</a>< <a class="el" href="class_shape.html">Shape</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a5c10220e06a8a5bb274a4b02c28cb0b6">mShape</a></td></tr>
- <tr class="separator:a5c10220e06a8a5bb274a4b02c28cb0b6 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5f637f449a17fb6a1b10297764de48b4 inherit pro_attribs_class_character_base" id="r_a5f637f449a17fb6a1b10297764de48b4"><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="class_character_base.html#a5f637f449a17fb6a1b10297764de48b4">mUp</a></td></tr>
- <tr class="separator:a5f637f449a17fb6a1b10297764de48b4 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae9fb45e5980787c5f7f718f6e7703797 inherit pro_attribs_class_character_base" id="r_ae9fb45e5980787c5f7f718f6e7703797"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_plane.html">Plane</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#ae9fb45e5980787c5f7f718f6e7703797">mSupportingVolume</a></td></tr>
- <tr class="separator:ae9fb45e5980787c5f7f718f6e7703797 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9da1e29d9257f3cce909487da437a0c9 inherit pro_attribs_class_character_base" id="r_a9da1e29d9257f3cce909487da437a0c9"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a9da1e29d9257f3cce909487da437a0c9">mCosMaxSlopeAngle</a></td></tr>
- <tr class="separator:a9da1e29d9257f3cce909487da437a0c9 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1cf96842849baa268527dfa548219510 inherit pro_attribs_class_character_base" id="r_a1cf96842849baa268527dfa548219510"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77e">EGroundState</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a1cf96842849baa268527dfa548219510">mGroundState</a> = <a class="el" href="class_character_base.html#a82dfb80348cdbf3a08f97d54b225f77eaee4e669a07b061d70b9b79dfed9cb5e7">EGroundState::InAir</a></td></tr>
- <tr class="separator:a1cf96842849baa268527dfa548219510 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a893268ea23759f36ebe8e317a54afa7e inherit pro_attribs_class_character_base" id="r_a893268ea23759f36ebe8e317a54afa7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_i_d.html">BodyID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a893268ea23759f36ebe8e317a54afa7e">mGroundBodyID</a></td></tr>
- <tr class="separator:a893268ea23759f36ebe8e317a54afa7e inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afa16450cf4dc265231e0f616aa5eeec9 inherit pro_attribs_class_character_base" id="r_afa16450cf4dc265231e0f616aa5eeec9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sub_shape_i_d.html">SubShapeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#afa16450cf4dc265231e0f616aa5eeec9">mGroundBodySubShapeID</a></td></tr>
- <tr class="separator:afa16450cf4dc265231e0f616aa5eeec9 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2b9e9d8616bb0c7c8cb6ba59f5c7bf8a inherit pro_attribs_class_character_base" id="r_a2b9e9d8616bb0c7c8cb6ba59f5c7bf8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a2b9e9d8616bb0c7c8cb6ba59f5c7bf8a">mGroundPosition</a> = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">RVec3::sZero</a>()</td></tr>
- <tr class="separator:a2b9e9d8616bb0c7c8cb6ba59f5c7bf8a inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3537f13f2e427573266d9f591f1aadf3 inherit pro_attribs_class_character_base" id="r_a3537f13f2e427573266d9f591f1aadf3"><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="class_character_base.html#a3537f13f2e427573266d9f591f1aadf3">mGroundNormal</a> = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td></tr>
- <tr class="separator:a3537f13f2e427573266d9f591f1aadf3 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:add543ae2333820dbf77e23009dfe4367 inherit pro_attribs_class_character_base" id="r_add543ae2333820dbf77e23009dfe4367"><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="class_character_base.html#add543ae2333820dbf77e23009dfe4367">mGroundVelocity</a> = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td></tr>
- <tr class="separator:add543ae2333820dbf77e23009dfe4367 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2586c1571ba8e5adc511d71f413de2c1 inherit pro_attribs_class_character_base" id="r_a2586c1571ba8e5adc511d71f413de2c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref_const.html">RefConst</a>< <a class="el" href="class_physics_material.html">PhysicsMaterial</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a2586c1571ba8e5adc511d71f413de2c1">mGroundMaterial</a> = <a class="el" href="class_physics_material.html#af51825c643c3cafc49e007d8ca1c14cd">PhysicsMaterial::sDefault</a></td></tr>
- <tr class="separator:a2586c1571ba8e5adc511d71f413de2c1 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acf9a8bdf6fa420d9615206d196794135 inherit pro_attribs_class_character_base" id="r_acf9a8bdf6fa420d9615206d196794135"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#acf9a8bdf6fa420d9615206d196794135">mGroundUserData</a> = 0</td></tr>
- <tr class="separator:acf9a8bdf6fa420d9615206d196794135 inherit pro_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_attribs_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_class_ref_target')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="class_ref_target.html">RefTarget< CharacterBase ></a></td></tr>
- <tr class="memitem:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target" id="r_a12afba0bdae7706a0afd4d96ac128231"><td class="memItemLeft" align="right" valign="top">atomic< <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a12afba0bdae7706a0afd4d96ac128231">mRefCount</a></td></tr>
- <tr class="memdesc:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Current reference count. <br /></td></tr>
- <tr class="separator:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_static_attribs_class_character_base"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_attribs_class_character_base')"><img src="closed.png" alt="-"/> Static Protected Attributes inherited from <a class="el" href="class_character_base.html">CharacterBase</a></td></tr>
- <tr class="memitem:a32bda1f36a6c2ba0eb1fec77dfcbb078 inherit pro_static_attribs_class_character_base" id="r_a32bda1f36a6c2ba0eb1fec77dfcbb078"><td class="memItemLeft" align="right" valign="top">static constexpr float </td><td class="memItemRight" valign="bottom"><a class="el" href="class_character_base.html#a32bda1f36a6c2ba0eb1fec77dfcbb078">cNoMaxSlopeAngle</a> = 0.9999f</td></tr>
- <tr class="separator:a32bda1f36a6c2ba0eb1fec77dfcbb078 inherit pro_static_attribs_class_character_base"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_static_attribs_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_attribs_class_ref_target')"><img src="closed.png" alt="-"/> Static Protected Attributes inherited from <a class="el" href="class_ref_target.html">RefTarget< CharacterBase ></a></td></tr>
- <tr class="memitem:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target" id="r_ad37db773efa3c8756f6d95df3862b875"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#ad37db773efa3c8756f6d95df3862b875">cEmbedded</a></td></tr>
- <tr class="memdesc:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">A large value that gets added to the refcount to mark the object as embedded. <br /></td></tr>
- <tr class="separator:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Runtime character object. This object usually represents the player. Contrary to the <a class="el" href="class_character.html">Character</a> class it doesn't use a rigid body but moves doing collision checks only (hence the name virtual). The advantage of this is that you can determine when the character moves in the frame (usually this has to happen at a very particular point in the frame) but the downside is that other objects don't see this virtual character. To make a <a class="el" href="class_character_virtual.html">CharacterVirtual</a> visible to the simulation, you can optionally create an inner rigid body through <a class="el" href="class_character_virtual_settings.html#a894dfc1bbdcf975b2878430ed7df33ec">CharacterVirtualSettings::mInnerBodyShape</a>. A <a class="el" href="class_character_virtual.html">CharacterVirtual</a> is not tracked by the <a class="el" href="class_physics_system.html">PhysicsSystem</a> so you need to update it yourself. This also means that a call to <a class="el" href="class_physics_system.html#ae13975e609ff125fa02b922795777824" title="Saving state for replay.">PhysicsSystem::SaveState</a> will not save its state, you need to call <a class="el" href="#a4eec1547ca605d2556bf781237b40ee7">CharacterVirtual::SaveState</a> yourself. </p>
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
- <a id="a8f4e50aacdfa032e1c4ce049c06703c0" name="a8f4e50aacdfa032e1c4ce049c06703c0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8f4e50aacdfa032e1c4ce049c06703c0">◆ </a></span>ContactList</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="#a8f4e50aacdfa032e1c4ce049c06703c0">CharacterVirtual::ContactList</a> = <a class="el" href="class_array.html">Array</a><<a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a>></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="ac60944f1d2368e0a35b76c224cbb1cac" name="ac60944f1d2368e0a35b76c224cbb1cac"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac60944f1d2368e0a35b76c224cbb1cac">◆ </a></span>TempContactList</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="#ac60944f1d2368e0a35b76c224cbb1cac">CharacterVirtual::TempContactList</a> = <a class="el" href="class_array.html">Array</a><<a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a>, <a class="el" href="class_s_t_l_temp_allocator.html">STLTempAllocator</a><<a class="el" href="struct_character_virtual_1_1_contact.html">Contact</a>>></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a13f67f142bec57745727eb33250c1e01" name="a13f67f142bec57745727eb33250c1e01"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a13f67f142bec57745727eb33250c1e01">◆ </a></span>CharacterVirtual() <span class="overload">[1/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">CharacterVirtual::CharacterVirtual </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_character_virtual_settings.html">CharacterVirtualSettings</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="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inPosition</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a></td> <td class="paramname"><span class="paramname"><em>inRotation</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a></td> <td class="paramname"><span class="paramname"><em>inUserData</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_physics_system.html">PhysicsSystem</a> *</td> <td class="paramname"><span class="paramname"><em>inSystem</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Constructor </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inSettings</td><td>The settings for the character </td></tr>
- <tr><td class="paramname">inPosition</td><td>Initial position for the character </td></tr>
- <tr><td class="paramname">inRotation</td><td>Initial rotation for the character (usually only around the up-axis) </td></tr>
- <tr><td class="paramname">inUserData</td><td>Application specific value </td></tr>
- <tr><td class="paramname">inSystem</td><td>Physics system that this character will be added to </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ab1970bba46b2522707111bec95fa9e07" name="ab1970bba46b2522707111bec95fa9e07"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab1970bba46b2522707111bec95fa9e07">◆ </a></span>CharacterVirtual() <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">CharacterVirtual::CharacterVirtual </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_character_virtual_settings.html">CharacterVirtualSettings</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="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inPosition</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a></td> <td class="paramname"><span class="paramname"><em>inRotation</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_physics_system.html">PhysicsSystem</a> *</td> <td class="paramname"><span class="paramname"><em>inSystem</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>Constructor without user data. </p>
- </div>
- </div>
- <a id="ad932d26de4902065092ee3c6c30bc9de" name="ad932d26de4902065092ee3c6c30bc9de"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad932d26de4902065092ee3c6c30bc9de">◆ </a></span>~CharacterVirtual()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">CharacterVirtual::~CharacterVirtual </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">override</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Destructor. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a1e8c56bb848a852be4e63806fe6a74c6" name="a1e8c56bb848a852be4e63806fe6a74c6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1e8c56bb848a852be4e63806fe6a74c6">◆ </a></span>CancelVelocityTowardsSteepSlopes()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> CharacterVirtual::CancelVelocityTowardsSteepSlopes </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>inDesiredVelocity</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This function can be called prior to calling <a class="el" href="#ab9ce165035699a776a9d0b3e570def01">Update()</a> to convert a desired velocity into a velocity that won't make the character move further onto steep slopes. This velocity can then be set on the character using <a class="el" href="#a25da7eb8e9ff5316e357cbf59027b57e" title="Set the linear velocity of the character (m / s)">SetLinearVelocity()</a> </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inDesiredVelocity</td><td>Velocity to clamp against steep walls </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>A new velocity vector that won't make the character move up steep slopes </dd></dl>
- </div>
- </div>
- <a id="af44f8072c8e2687bbc20452b608fc5fe" name="af44f8072c8e2687bbc20452b608fc5fe"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af44f8072c8e2687bbc20452b608fc5fe">◆ </a></span>CanWalkStairs()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::CanWalkStairs </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>inLinearVelocity</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This function will return true if the character has moved into a slope that is too steep (e.g. a vertical wall). You would call WalkStairs to attempt to step up stairs. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inLinearVelocity</td><td>The linear velocity that the player desired. This is used to determine if we're pushing into a step. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ae70222c609c35c1acd94b9fc24e03681" name="ae70222c609c35c1acd94b9fc24e03681"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae70222c609c35c1acd94b9fc24e03681">◆ </a></span>CheckCollision()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::CheckCollision </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inPosition</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a></td> <td class="paramname"><span class="paramname"><em>inRotation</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></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>inMovementDirection</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxSeparationDistance</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inBaseOffset</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_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get all contacts for the character at a particular location. When colliding with another character virtual, this pointer will be provided through CollideShapeCollector::SetUserContext before adding a hit. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inPosition</td><td>Position to test, note that this position will be corrected for the character padding. </td></tr>
- <tr><td class="paramname">inRotation</td><td>Rotation at which to test the shape. </td></tr>
- <tr><td class="paramname">inMovementDirection</td><td>A hint in which direction the character is moving, will be used to calculate a proper normal. </td></tr>
- <tr><td class="paramname">inMaxSeparationDistance</td><td>How much distance around the character you want to report contacts in (can be 0 to match the character exactly). </td></tr>
- <tr><td class="paramname">inShape</td><td><a class="el" href="class_shape.html" title="Base class for all shapes (collision volume of a body). Defines a virtual interface for collision det...">Shape</a> to test collision with. </td></tr>
- <tr><td class="paramname">inBaseOffset</td><td>All hit results will be returned relative to this offset, can be zero to get results in world position, but when you're testing far from the origin you get better precision by picking a position that's closer e.g. <a class="el" href="#a24f025912ca62c15e830bd6213129d6b" title="Get the position of the character.">GetPosition()</a> since floats are most accurate near the origin </td></tr>
- <tr><td class="paramname">ioCollector</td><td>Collision collector that receives the collision results. </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerFilter</td><td>Filter that is used to check if the character collides with something in the broadphase. </td></tr>
- <tr><td class="paramname">inObjectLayerFilter</td><td>Filter that is used to check if a character collides with a layer. </td></tr>
- <tr><td class="paramname">inBodyFilter</td><td>Filter that is used to check if a character collides with a body. </td></tr>
- <tr><td class="paramname">inShapeFilter</td><td>Filter that is used to check if a character collides with a subshape. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ae03c43c12e8eb6496b8c8044c70b591f" name="ae03c43c12e8eb6496b8c8044c70b591f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae03c43c12e8eb6496b8c8044c70b591f">◆ </a></span>ExtendedUpdate()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::ExtendedUpdate </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"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inGravity</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="struct_character_virtual_1_1_extended_update_settings.html">ExtendedUpdateSettings</a> &</td> <td class="paramname"><span class="paramname"><em>inSettings</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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>
- <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>inAllocator</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This function combines Update, StickToFloor and WalkStairs. This function serves as an example of how these functions could be combined. Before calling, call SetLinearVelocity to update the horizontal/vertical speed of the character, typically this is:</p><ul>
- <li>When on OnGround and not moving away from ground: velocity = <a class="el" href="class_character_base.html#a692578285569b48d19d53684360a5656" title="Velocity in world space of ground.">GetGroundVelocity()</a> + horizontal speed as input by player + optional vertical jump velocity + delta time * gravity</li>
- <li>Else: velocity = current vertical velocity + horizontal speed as input by player + delta time * gravity <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inDeltaTime</td><td>Time step to simulate. </td></tr>
- <tr><td class="paramname">inGravity</td><td>Gravity vector (m/s^2). This gravity vector is only used when the character is standing on top of another object to apply downward force. </td></tr>
- <tr><td class="paramname">inSettings</td><td>A structure containing settings for the algorithm. </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerFilter</td><td>Filter that is used to check if the character collides with something in the broadphase. </td></tr>
- <tr><td class="paramname">inObjectLayerFilter</td><td>Filter that is used to check if a character collides with a layer. </td></tr>
- <tr><td class="paramname">inBodyFilter</td><td>Filter that is used to check if a character collides with a body. </td></tr>
- <tr><td class="paramname">inShapeFilter</td><td>Filter that is used to check if a character collides with a subshape. </td></tr>
- <tr><td class="paramname">inAllocator</td><td>An allocator for temporary allocations. All memory will be freed by the time this function returns. </td></tr>
- </table>
- </dd>
- </dl>
- </li>
- </ul>
- </div>
- </div>
- <a id="a7d731dad1d56cc0a96d511ce89fd0ee9" name="a7d731dad1d56cc0a96d511ce89fd0ee9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7d731dad1d56cc0a96d511ce89fd0ee9">◆ </a></span>FinishTrackingContactChanges()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::FinishTrackingContactChanges </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This call triggers contact removal callbacks and is used in conjunction with StartTrackingContactChanges. </p>
- </div>
- </div>
- <a id="a2fcecdf5b3e0f584f2bb7ec5a128dbe6" name="a2fcecdf5b3e0f584f2bb7ec5a128dbe6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2fcecdf5b3e0f584f2bb7ec5a128dbe6">◆ </a></span>GetActiveContacts()</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="#a8f4e50aacdfa032e1c4ce049c06703c0">ContactList</a> & CharacterVirtual::GetActiveContacts </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 internal list of contacts that the character has found. Note that only contacts that have their mHadCollision flag set are actual contacts. </p>
- </div>
- </div>
- <a id="a44dfb8aa6d88860b6a4ff094d211871e" name="a44dfb8aa6d88860b6a4ff094d211871e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a44dfb8aa6d88860b6a4ff094d211871e">◆ </a></span>GetCenterOfMassPosition()</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="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> CharacterVirtual::GetCenterOfMassPosition </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="aad9788892410b982d43bbd34ef8a016c" name="aad9788892410b982d43bbd34ef8a016c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aad9788892410b982d43bbd34ef8a016c">◆ </a></span>GetCenterOfMassTransform()</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="_real_8h.html#ab2b99ab2c9bab2170e4744e9fb519625">RMat44</a> CharacterVirtual::GetCenterOfMassTransform </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>Calculates the transform for this character's center of mass. </p>
- </div>
- </div>
- <a id="a643ed04caa01ba9e4e4fc9d5058dc3d7" name="a643ed04caa01ba9e4e4fc9d5058dc3d7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a643ed04caa01ba9e4e4fc9d5058dc3d7">◆ </a></span>GetCharacterPadding()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float CharacterVirtual::GetCharacterPadding </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><a class="el" href="class_character.html">Character</a> padding. </p>
- </div>
- </div>
- <a id="af8832e55cbaa6341de83e6e440bcf7f1" name="af8832e55cbaa6341de83e6e440bcf7f1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af8832e55cbaa6341de83e6e440bcf7f1">◆ </a></span>GetCharacterVirtualSettings()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_character_virtual_settings.html">CharacterVirtualSettings</a> CharacterVirtual::GetCharacterVirtualSettings </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get the character settings that can recreate this character. </p>
- </div>
- </div>
- <a id="a9e39a28dbce389399848347dbf95956a" name="a9e39a28dbce389399848347dbf95956a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9e39a28dbce389399848347dbf95956a">◆ </a></span>GetEnhancedInternalEdgeRemoval()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::GetEnhancedInternalEdgeRemoval </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>Set to indicate that extra effort should be made to try to remove ghost contacts (collisions with internal edges of a mesh). This is more expensive but makes bodies move smoother over a mesh with convex edges. </p>
- </div>
- </div>
- <a id="ae8dcc6de2efd2ad646722e92ed1ba38a" name="ae8dcc6de2efd2ad646722e92ed1ba38a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae8dcc6de2efd2ad646722e92ed1ba38a">◆ </a></span>GetHitReductionCosMaxAngle()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float CharacterVirtual::GetHitReductionCosMaxAngle </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>Cos(angle) where angle is the maximum angle between two hits contact normals that are allowed to be merged during hit reduction. Default is around 2.5 degrees. Set to -1 to turn off. </p>
- </div>
- </div>
- <a id="af75ef0776d8c6726b25b5a278937780b" name="af75ef0776d8c6726b25b5a278937780b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af75ef0776d8c6726b25b5a278937780b">◆ </a></span>GetID()</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_character_i_d.html">CharacterID</a> & CharacterVirtual::GetID </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>The ID of this character. </p>
- </div>
- </div>
- <a id="a7d6637e5d42ab04152b831b609014af1" name="a7d6637e5d42ab04152b831b609014af1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7d6637e5d42ab04152b831b609014af1">◆ </a></span>GetInnerBodyID()</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_i_d.html">BodyID</a> CharacterVirtual::GetInnerBodyID </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>Optional inner rigid body that proxies the character in the world. Can be used to update body properties. </p>
- </div>
- </div>
- <a id="a9f8aca4dbbb9c926e52ca8b7337c4c71" name="a9f8aca4dbbb9c926e52ca8b7337c4c71"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9f8aca4dbbb9c926e52ca8b7337c4c71">◆ </a></span>GetLinearVelocity()</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> CharacterVirtual::GetLinearVelocity </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 linear velocity of the character (m / s) </p>
- </div>
- </div>
- <a id="aacf19c0b42216d6dc497c20556b642e7" name="aacf19c0b42216d6dc497c20556b642e7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aacf19c0b42216d6dc497c20556b642e7">◆ </a></span>GetListener()</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_character_contact_listener.html">CharacterContactListener</a> * CharacterVirtual::GetListener </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 current contact listener. </p>
- </div>
- </div>
- <a id="a1ae032d5f31f955686e3c519abfaa1a4" name="a1ae032d5f31f955686e3c519abfaa1a4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1ae032d5f31f955686e3c519abfaa1a4">◆ </a></span>GetMass()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float CharacterVirtual::GetMass </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><a class="el" href="class_character.html">Character</a> mass (kg) </p>
- </div>
- </div>
- <a id="a4bcaf2938288d8a8cbf907f74851b109" name="a4bcaf2938288d8a8cbf907f74851b109"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4bcaf2938288d8a8cbf907f74851b109">◆ </a></span>GetMaxHitsExceeded()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::GetMaxHitsExceeded </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 if we exceeded the maximum number of hits during the last collision check and had to discard hits based on distance. This can be used to find areas that have too complex geometry for the character to navigate properly. To solve you can either increase the max number of hits or simplify the geometry. Note that the character simulation will try to do its best to select the most relevant contacts to avoid the character from getting stuck. </p>
- </div>
- </div>
- <a id="a6b037237b95355079f9aca7904899004" name="a6b037237b95355079f9aca7904899004"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6b037237b95355079f9aca7904899004">◆ </a></span>GetMaxNumHits()</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> CharacterVirtual::GetMaxNumHits </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>Max num hits to collect in order to avoid excess of contact points collection. </p>
- </div>
- </div>
- <a id="a6d11baa32abe7ab7f75100daca4fda2c" name="a6d11baa32abe7ab7f75100daca4fda2c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6d11baa32abe7ab7f75100daca4fda2c">◆ </a></span>GetMaxStrength()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float CharacterVirtual::GetMaxStrength </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>Maximum force with which the character can push other bodies (N) </p>
- </div>
- </div>
- <a id="a2407cd5fec2965214f0d9c3c27eb47ca" name="a2407cd5fec2965214f0d9c3c27eb47ca"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2407cd5fec2965214f0d9c3c27eb47ca">◆ </a></span>GetPenetrationRecoverySpeed()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float CharacterVirtual::GetPenetrationRecoverySpeed </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>This value governs how fast a penetration will be resolved, 0 = nothing is resolved, 1 = everything in one update. </p>
- </div>
- </div>
- <a id="a24f025912ca62c15e830bd6213129d6b" name="a24f025912ca62c15e830bd6213129d6b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a24f025912ca62c15e830bd6213129d6b">◆ </a></span>GetPosition()</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="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> CharacterVirtual::GetPosition </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 position of the character. </p>
- </div>
- </div>
- <a id="afdec9f01a8b449ba9b29f39c42afe0d8" name="afdec9f01a8b449ba9b29f39c42afe0d8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afdec9f01a8b449ba9b29f39c42afe0d8">◆ </a></span>GetRotation()</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_quat.html">Quat</a> CharacterVirtual::GetRotation </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 rotation of the character. </p>
- </div>
- </div>
- <a id="ad36f1869421eeee298f3230d27841071" name="ad36f1869421eeee298f3230d27841071"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad36f1869421eeee298f3230d27841071">◆ </a></span>GetShapeOffset()</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> CharacterVirtual::GetShapeOffset </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>An extra offset applied to the shape in local space. This allows applying an extra offset to the shape in local space. Note that setting it on the fly can cause the shape to teleport into collision. </p>
- </div>
- </div>
- <a id="a181bbafd30966b7ecc4313283c3a1252" name="a181bbafd30966b7ecc4313283c3a1252"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a181bbafd30966b7ecc4313283c3a1252">◆ </a></span>GetTransformedShape()</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_transformed_shape.html">TransformedShape</a> CharacterVirtual::GetTransformedShape </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 transformed shape that represents the volume of the character, can be used for collision checks. </p>
- </div>
- </div>
- <a id="acc49b466797667ae5f4bb1ee44e83b2e" name="acc49b466797667ae5f4bb1ee44e83b2e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#acc49b466797667ae5f4bb1ee44e83b2e">◆ </a></span>GetUserData()</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#a60e8696a4678cd348e991a1f172e53f7">uint64</a> CharacterVirtual::GetUserData </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 user data, can be used for anything by the application. </p>
- </div>
- </div>
- <a id="a36a2e0c44e55954fbc62aed4e030ab01" name="a36a2e0c44e55954fbc62aed4e030ab01"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a36a2e0c44e55954fbc62aed4e030ab01">◆ </a></span>GetWorldTransform()</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="_real_8h.html#ab2b99ab2c9bab2170e4744e9fb519625">RMat44</a> CharacterVirtual::GetWorldTransform </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>Calculate the world transform of the character. </p>
- </div>
- </div>
- <a id="a59a36680856b7f106bbad79345c1525b" name="a59a36680856b7f106bbad79345c1525b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a59a36680856b7f106bbad79345c1525b">◆ </a></span>HasCollidedWith() <span class="overload">[1/3]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::HasCollidedWith </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>inBody</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>Check if the character is currently in contact with or has collided with another body in the last operation (e.g. Update or WalkStairs) </p>
- </div>
- </div>
- <a id="a9eadc62aef211d711e9856437d407c4b" name="a9eadc62aef211d711e9856437d407c4b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9eadc62aef211d711e9856437d407c4b">◆ </a></span>HasCollidedWith() <span class="overload">[2/3]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::HasCollidedWith </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_character_i_d.html">CharacterID</a> &</td> <td class="paramname"><span class="paramname"><em>inCharacterID</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>Check if the character is currently in contact with or has collided with another character in the last time step (e.g. Update or WalkStairs) </p>
- </div>
- </div>
- <a id="adacc8eaa741dfd330fbf2d58fa4b7541" name="adacc8eaa741dfd330fbf2d58fa4b7541"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#adacc8eaa741dfd330fbf2d58fa4b7541">◆ </a></span>HasCollidedWith() <span class="overload">[3/3]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::HasCollidedWith </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_character_virtual.html">CharacterVirtual</a> *</td> <td class="paramname"><span class="paramname"><em>inCharacter</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>Check if the character is currently in contact with or has collided with another character in the last time step (e.g. Update or WalkStairs) </p>
- </div>
- </div>
- <a id="a09ecc3efc44b912eca30d9dbc05cc558" name="a09ecc3efc44b912eca30d9dbc05cc558"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a09ecc3efc44b912eca30d9dbc05cc558">◆ </a></span>RefreshContacts()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::RefreshContacts </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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>
- <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>inAllocator</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This function can be used after a character has teleported to determine the new contacts with the world. </p>
- </div>
- </div>
- <a id="a34ce1577ff0641d5a326af721a3c9b71" name="a34ce1577ff0641d5a326af721a3c9b71"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a34ce1577ff0641d5a326af721a3c9b71">◆ </a></span>RestoreState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::RestoreState </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reimplemented from <a class="el" href="class_character_base.html#ad9d1540df7d44b3aaeee88a527df7d7d">CharacterBase</a>.</p>
- </div>
- </div>
- <a id="a4eec1547ca605d2556bf781237b40ee7" name="a4eec1547ca605d2556bf781237b40ee7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4eec1547ca605d2556bf781237b40ee7">◆ </a></span>SaveState()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::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><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reimplemented from <a class="el" href="class_character_base.html#ab28f7afaa654cf8461f3638dd01334e0">CharacterBase</a>.</p>
- </div>
- </div>
- <a id="a3982b9711188db9d30ee0dab32a81d0b" name="a3982b9711188db9d30ee0dab32a81d0b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3982b9711188db9d30ee0dab32a81d0b">◆ </a></span>SetCharacterVsCharacterCollision()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetCharacterVsCharacterCollision </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_character_vs_character_collision.html">CharacterVsCharacterCollision</a> *</td> <td class="paramname"><span class="paramname"><em>inCharacterVsCharacterCollision</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 character vs character collision interface. </p>
- </div>
- </div>
- <a id="a1596c6b7df4854e170f59416c67aeabc" name="a1596c6b7df4854e170f59416c67aeabc"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1596c6b7df4854e170f59416c67aeabc">◆ </a></span>SetEnhancedInternalEdgeRemoval()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetEnhancedInternalEdgeRemoval </td>
- <td>(</td>
- <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>inApply</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="ac74cd57b392ad9570e419251ce2d70c8" name="ac74cd57b392ad9570e419251ce2d70c8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac74cd57b392ad9570e419251ce2d70c8">◆ </a></span>SetHitReductionCosMaxAngle()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetHitReductionCosMaxAngle </td>
- <td>(</td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inCosMaxAngle</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="af94e73cd650ddac2b76b55d18dca302e" name="af94e73cd650ddac2b76b55d18dca302e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af94e73cd650ddac2b76b55d18dca302e">◆ </a></span>SetInnerBodyShape()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetInnerBodyShape </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Updates the shape of the inner rigid body. Should be called after a successful call to SetShape. </p>
- </div>
- </div>
- <a id="a25da7eb8e9ff5316e357cbf59027b57e" name="a25da7eb8e9ff5316e357cbf59027b57e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a25da7eb8e9ff5316e357cbf59027b57e">◆ </a></span>SetLinearVelocity()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetLinearVelocity </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>inLinearVelocity</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 linear velocity of the character (m / s) </p>
- </div>
- </div>
- <a id="af7bfe39cc6f67eeb4cd8d4d453d8b179" name="af7bfe39cc6f67eeb4cd8d4d453d8b179"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af7bfe39cc6f67eeb4cd8d4d453d8b179">◆ </a></span>SetListener()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetListener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_character_contact_listener.html">CharacterContactListener</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>Set the contact listener. </p>
- </div>
- </div>
- <a id="a93a6110e80e08ef092d7f010a45e3bb5" name="a93a6110e80e08ef092d7f010a45e3bb5"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a93a6110e80e08ef092d7f010a45e3bb5">◆ </a></span>SetMass()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetMass </td>
- <td>(</td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMass</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="a683ab8265d9c39c512864b8041c675aa" name="a683ab8265d9c39c512864b8041c675aa"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a683ab8265d9c39c512864b8041c675aa">◆ </a></span>SetMaxNumHits()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetMaxNumHits </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inMaxHits</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="a5e3e1a90e94534669194d929a4f15700" name="a5e3e1a90e94534669194d929a4f15700"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5e3e1a90e94534669194d929a4f15700">◆ </a></span>SetMaxStrength()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetMaxStrength </td>
- <td>(</td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxStrength</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="ad767e40abd649085a9b2d8df813dbc8c" name="ad767e40abd649085a9b2d8df813dbc8c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad767e40abd649085a9b2d8df813dbc8c">◆ </a></span>SetPenetrationRecoverySpeed()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetPenetrationRecoverySpeed </td>
- <td>(</td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inSpeed</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="af3622b341d017712981d6d26de99fe5c" name="af3622b341d017712981d6d26de99fe5c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af3622b341d017712981d6d26de99fe5c">◆ </a></span>SetPosition()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetPosition </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_real_8h.html#a43bea2d9c57780b4b66bab1312fd77f3">RVec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inPosition</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 position of the character. </p>
- </div>
- </div>
- <a id="ac0b74d1e4ec29a6a4853bc8cbb72578d" name="ac0b74d1e4ec29a6a4853bc8cbb72578d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac0b74d1e4ec29a6a4853bc8cbb72578d">◆ </a></span>SetRotation()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetRotation </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a3c723d55f34e02bc506abe3dfb7bd2aa">QuatArg</a></td> <td class="paramname"><span class="paramname"><em>inRotation</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 rotation of the character. </p>
- </div>
- </div>
- <a id="a8149fcb7a9f932dd5154e23588e20763" name="a8149fcb7a9f932dd5154e23588e20763"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8149fcb7a9f932dd5154e23588e20763">◆ </a></span>SetShape()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::SetShape </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxPenetrationDepth</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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>
- <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>inAllocator</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Switch the shape of the character (e.g. for stance). </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inShape</td><td>The shape to switch to. </td></tr>
- <tr><td class="paramname">inMaxPenetrationDepth</td><td>When inMaxPenetrationDepth is not FLT_MAX, it checks if the new shape collides before switching shape. This is the max penetration we're willing to accept after the switch. </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerFilter</td><td>Filter that is used to check if the character collides with something in the broadphase. </td></tr>
- <tr><td class="paramname">inObjectLayerFilter</td><td>Filter that is used to check if a character collides with a layer. </td></tr>
- <tr><td class="paramname">inBodyFilter</td><td>Filter that is used to check if a character collides with a body. </td></tr>
- <tr><td class="paramname">inShapeFilter</td><td>Filter that is used to check if a character collides with a subshape. </td></tr>
- <tr><td class="paramname">inAllocator</td><td>An allocator for temporary allocations. All memory will be freed by the time this function returns. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Returns true if the switch succeeded. </dd></dl>
- </div>
- </div>
- <a id="a6fd639e0938a0c068ff683a33ee613c9" name="a6fd639e0938a0c068ff683a33ee613c9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6fd639e0938a0c068ff683a33ee613c9">◆ </a></span>SetShapeOffset()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetShapeOffset </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>inShapeOffset</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="a06b2c2e7446c66a85bc7314f5b4fd71e" name="a06b2c2e7446c66a85bc7314f5b4fd71e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a06b2c2e7446c66a85bc7314f5b4fd71e">◆ </a></span>SetUserData()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::SetUserData </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a></td> <td class="paramname"><span class="paramname"><em>inUserData</em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="ae19d53e08b67cbc8d17f856358b20593" name="ae19d53e08b67cbc8d17f856358b20593"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae19d53e08b67cbc8d17f856358b20593">◆ </a></span>StartTrackingContactChanges()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::StartTrackingContactChanges </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This function is internally called by Update, WalkStairs, StickToFloor and ExtendedUpdate and is responsible for tracking if contacts are added, persisted or removed. If you want to do multiple operations on a character (e.g. first Update then WalkStairs), you can surround the code with a StartTrackingContactChanges and FinishTrackingContactChanges pair to only receive a single callback per contact on the <a class="el" href="class_character_contact_listener.html">CharacterContactListener</a>. If you don't do this then you could for example receive a contact added callback during the Update and a contact persisted callback during WalkStairs. </p>
- </div>
- </div>
- <a id="a994b7c0aa38c4930117253eafdd9c9b9" name="a994b7c0aa38c4930117253eafdd9c9b9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a994b7c0aa38c4930117253eafdd9c9b9">◆ </a></span>StickToFloor()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::StickToFloor </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>inStepDown</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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>
- <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>inAllocator</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This function can be used to artificially keep the character to the floor. Normally when a character is on a small step and starts moving horizontally, the character will lose contact with the floor because the initial vertical velocity is zero while the horizontal velocity is quite high. To prevent the character from losing contact with the floor, we do an additional collision check downwards and if we find the floor within a certain distance, we project the character onto the floor. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inStepDown</td><td>Max amount to project the character downwards (if no floor is found within this distance, the function will return false) </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerFilter</td><td>Filter that is used to check if the character collides with something in the broadphase. </td></tr>
- <tr><td class="paramname">inObjectLayerFilter</td><td>Filter that is used to check if a character collides with a layer. </td></tr>
- <tr><td class="paramname">inBodyFilter</td><td>Filter that is used to check if a character collides with a body. </td></tr>
- <tr><td class="paramname">inShapeFilter</td><td>Filter that is used to check if a character collides with a subshape. </td></tr>
- <tr><td class="paramname">inAllocator</td><td>An allocator for temporary allocations. All memory will be freed by the time this function returns. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>True if the character was successfully projected onto the floor. </dd></dl>
- </div>
- </div>
- <a id="ab9ce165035699a776a9d0b3e570def01" name="ab9ce165035699a776a9d0b3e570def01"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab9ce165035699a776a9d0b3e570def01">◆ </a></span>Update()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::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"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inGravity</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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>
- <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>inAllocator</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>This is the main update function. It moves the character according to its current velocity (the character is similar to a kinematic body in the sense that you set the velocity and the character will follow unless collision is blocking the way). Note it's your own responsibility to apply gravity to the character velocity! Different surface materials (like ice) can be emulated by getting the ground material and adjusting the velocity and/or the max slope angle accordingly every frame. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inDeltaTime</td><td>Time step to simulate. </td></tr>
- <tr><td class="paramname">inGravity</td><td>Gravity vector (m/s^2). This gravity vector is only used when the character is standing on top of another object to apply downward force. </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerFilter</td><td>Filter that is used to check if the character collides with something in the broadphase. </td></tr>
- <tr><td class="paramname">inObjectLayerFilter</td><td>Filter that is used to check if a character collides with a layer. </td></tr>
- <tr><td class="paramname">inBodyFilter</td><td>Filter that is used to check if a character collides with a body. </td></tr>
- <tr><td class="paramname">inShapeFilter</td><td>Filter that is used to check if a character collides with a subshape. </td></tr>
- <tr><td class="paramname">inAllocator</td><td>An allocator for temporary allocations. All memory will be freed by the time this function returns. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a5817d937424e252d406f71f0ba8771da" name="a5817d937424e252d406f71f0ba8771da"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5817d937424e252d406f71f0ba8771da">◆ </a></span>UpdateGroundVelocity()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void CharacterVirtual::UpdateGroundVelocity </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Use the ground body ID to get an updated estimate of the ground velocity. This function can be used if the ground body has moved / changed velocity and you want a new estimate of the ground velocity. It will not perform collision detection, so is less accurate than RefreshContacts but a lot faster. </p>
- </div>
- </div>
- <a id="a7b92d577e9abb6193f971e26df9964f7" name="a7b92d577e9abb6193f971e26df9964f7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7b92d577e9abb6193f971e26df9964f7">◆ </a></span>WalkStairs()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::WalkStairs </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"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inStepUp</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></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>inStepForward</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></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>inStepForwardTest</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></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>inStepDownExtra</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_broad_phase_layer_filter.html">BroadPhaseLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBroadPhaseLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_object_layer_filter.html">ObjectLayerFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inObjectLayerFilter</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="class_body_filter.html">BodyFilter</a> &</td> <td class="paramname"><span class="paramname"><em>inBodyFilter</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>
- <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>inAllocator</em></span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>When stair walking is needed, you can call the WalkStairs function to cast up, forward and down again to try to find a valid position </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inDeltaTime</td><td>Time step to simulate. </td></tr>
- <tr><td class="paramname">inStepUp</td><td>The direction and distance to step up (this corresponds to the max step height) </td></tr>
- <tr><td class="paramname">inStepForward</td><td>The direction and distance to step forward after the step up </td></tr>
- <tr><td class="paramname">inStepForwardTest</td><td>When running at a high frequency, inStepForward can be very small and it's likely that you hit the side of the stairs on the way down. This could produce a normal that violates the max slope angle. If this happens, we test again using this distance from the up position to see if we find a valid slope. </td></tr>
- <tr><td class="paramname">inStepDownExtra</td><td>An additional translation that is added when stepping down at the end. Allows you to step further down than up. Set to zero if you don't want this. Should be in the opposite direction of up. </td></tr>
- <tr><td class="paramname">inBroadPhaseLayerFilter</td><td>Filter that is used to check if the character collides with something in the broadphase. </td></tr>
- <tr><td class="paramname">inObjectLayerFilter</td><td>Filter that is used to check if a character collides with a layer. </td></tr>
- <tr><td class="paramname">inBodyFilter</td><td>Filter that is used to check if a character collides with a body. </td></tr>
- <tr><td class="paramname">inShapeFilter</td><td>Filter that is used to check if a character collides with a subshape. </td></tr>
- <tr><td class="paramname">inAllocator</td><td>An allocator for temporary allocations. All memory will be freed by the time this function returns. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true if the stair walk was successful </dd></dl>
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a id="aba0e60ca84ea36613fc54800b4fee7e2" name="aba0e60ca84ea36613fc54800b4fee7e2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aba0e60ca84ea36613fc54800b4fee7e2">◆ </a></span>sDrawConstraints</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::sDrawConstraints = false</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Draw the current state of the constraints for iteration 0 when creating them. </p>
- </div>
- </div>
- <a id="ab2cf324c0dfc9c7275d985f94f663a84" name="ab2cf324c0dfc9c7275d985f94f663a84"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab2cf324c0dfc9c7275d985f94f663a84">◆ </a></span>sDrawStickToFloor</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::sDrawStickToFloor = false</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Draw the state of the stick to floor algorithm. </p>
- </div>
- </div>
- <a id="ab3667a21e5aab369907773ed056c74a9" name="ab3667a21e5aab369907773ed056c74a9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab3667a21e5aab369907773ed056c74a9">◆ </a></span>sDrawWalkStairs</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool CharacterVirtual::sDrawWalkStairs = false</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Draw the state of the walk stairs algorithm. </p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li>Jolt/Physics/Character/<a class="el" href="_character_virtual_8h_source.html">CharacterVirtual.h</a></li>
- <li>Jolt/Physics/Character/<a class="el" href="_character_virtual_8cpp.html">CharacterVirtual.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_character_virtual.html">CharacterVirtual</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>
|