class_vec3.html 154 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=11"/>
  6. <meta name="generator" content="Doxygen 1.12.0"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Jolt Physics: Vec3 Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <script type="text/javascript" src="clipboard.js"></script>
  13. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript" src="resize.js"></script>
  17. <script type="text/javascript" src="cookie.js"></script>
  18. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  19. <script type="text/javascript" src="search/searchdata.js"></script>
  20. <script type="text/javascript" src="search/search.js"></script>
  21. <script type="text/x-mathjax-config">
  22. MathJax.Hub.Config({
  23. extensions: ["tex2jax.js"],
  24. jax: ["input/TeX","output/HTML-CSS"],
  25. });
  26. </script>
  27. <script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
  28. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  29. </head>
  30. <body>
  31. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  32. <div id="titlearea">
  33. <table cellspacing="0" cellpadding="0">
  34. <tbody>
  35. <tr id="projectrow">
  36. <td id="projectlogo"><img alt="Logo" src="LogoSmall.png"/></td>
  37. <td id="projectalign">
  38. <div id="projectname">Jolt Physics
  39. </div>
  40. <div id="projectbrief">A multi core friendly Game Physics Engine</div>
  41. </td>
  42. </tr>
  43. </tbody>
  44. </table>
  45. </div>
  46. <!-- end header part -->
  47. <!-- Generated by Doxygen 1.12.0 -->
  48. <script type="text/javascript">
  49. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  50. var searchBox = new SearchBox("searchBox", "search/",'.html');
  51. /* @license-end */
  52. </script>
  53. <script type="text/javascript">
  54. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  55. $(function() { codefold.init(0); });
  56. /* @license-end */
  57. </script>
  58. <script type="text/javascript" src="menudata.js"></script>
  59. <script type="text/javascript" src="menu.js"></script>
  60. <script type="text/javascript">
  61. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  62. $(function() {
  63. initMenu('',true,false,'search.php','Search',true);
  64. $(function() { init_search(); });
  65. });
  66. /* @license-end */
  67. </script>
  68. <div id="main-nav"></div>
  69. </div><!-- top -->
  70. <div id="side-nav" class="ui-resizable side-nav-resizable">
  71. <div id="nav-tree">
  72. <div id="nav-tree-contents">
  73. <div id="nav-sync" class="sync"></div>
  74. </div>
  75. </div>
  76. <div id="splitbar" style="-moz-user-select:none;"
  77. class="ui-resizable-handle">
  78. </div>
  79. </div>
  80. <script type="text/javascript">
  81. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  82. $(function(){initNavTree('class_vec3.html',''); initResizable(true); });
  83. /* @license-end */
  84. </script>
  85. <div id="doc-content">
  86. <!-- window showing the filter options -->
  87. <div id="MSearchSelectWindow"
  88. onmouseover="return searchBox.OnSearchSelectShow()"
  89. onmouseout="return searchBox.OnSearchSelectHide()"
  90. onkeydown="return searchBox.OnSearchSelectKey(event)">
  91. </div>
  92. <!-- iframe showing the search results (closed by default) -->
  93. <div id="MSearchResultsWindow">
  94. <div id="MSearchResults">
  95. <div class="SRPage">
  96. <div id="SRIndex">
  97. <div id="SRResults"></div>
  98. <div class="SRStatus" id="Loading">Loading...</div>
  99. <div class="SRStatus" id="Searching">Searching...</div>
  100. <div class="SRStatus" id="NoMatches">No Matches</div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="header">
  106. <div class="summary">
  107. <a href="#pub-types">Public Types</a> &#124;
  108. <a href="#pub-methods">Public Member Functions</a> &#124;
  109. <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
  110. <a href="#pub-attribs">Public Attributes</a> &#124;
  111. <a href="#pub-static-attribs">Static Public Attributes</a> &#124;
  112. <a href="#friends">Friends</a> &#124;
  113. <a href="class_vec3-members.html">List of all members</a> </div>
  114. <div class="headertitle"><div class="title">Vec3 Class Reference</div></div>
  115. </div><!--header-->
  116. <div class="contents">
  117. <p><code>#include &lt;<a class="el" href="_vec3_8h_source.html">Vec3.h</a>&gt;</code></p>
  118. <table class="memberdecls">
  119. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
  120. Public Types</h2></td></tr>
  121. <tr class="memitem:a113d94ab6f5a2f4fd236b64b9ad7cddc" id="r_a113d94ab6f5a2f4fd236b64b9ad7cddc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a> = <a class="el" href="class_vec4.html#abf8c2cd052f001035442fc47f9b240d7">Vec4::Type</a></td></tr>
  122. <tr class="separator:a113d94ab6f5a2f4fd236b64b9ad7cddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:a8f7af7dfc65ee331b1819023c1724c97" id="r_a8f7af7dfc65ee331b1819023c1724c97"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8f7af7dfc65ee331b1819023c1724c97">ArgType</a> = <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td></tr>
  124. <tr class="separator:a8f7af7dfc65ee331b1819023c1724c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. </table><table class="memberdecls">
  126. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  127. Public Member Functions</h2></td></tr>
  128. <tr class="memitem:aeecf02c008ca1e3a1695d8962a5b24da" id="r_aeecf02c008ca1e3a1695d8962a5b24da"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeecf02c008ca1e3a1695d8962a5b24da">Vec3</a> ()=default</td></tr>
  129. <tr class="memdesc:aeecf02c008ca1e3a1695d8962a5b24da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  130. <tr class="separator:aeecf02c008ca1e3a1695d8962a5b24da"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a268ea0715fd0914ffde63ca7451bde61" id="r_a268ea0715fd0914ffde63ca7451bde61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a268ea0715fd0914ffde63ca7451bde61">Vec3</a> (const <a class="el" href="class_vec3.html">Vec3</a> &amp;inRHS)=default</td></tr>
  132. <tr class="separator:a268ea0715fd0914ffde63ca7451bde61"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:ad08ae539c06ae81a334c530bcb024b35" id="r_ad08ae539c06ae81a334c530bcb024b35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad08ae539c06ae81a334c530bcb024b35">operator=</a> (const <a class="el" href="class_vec3.html">Vec3</a> &amp;inRHS)=default</td></tr>
  134. <tr class="separator:ad08ae539c06ae81a334c530bcb024b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:a3ab8c224fb2c6be708e58e45fd0ee987" id="r_a3ab8c224fb2c6be708e58e45fd0ee987"><td class="memItemLeft" align="right" valign="top">JPH_INLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ab8c224fb2c6be708e58e45fd0ee987">Vec3</a> (<a class="el" href="_math_types_8h.html#a2f6a6bbc069039fb4bc5813de8e77aa1">Vec4Arg</a> inRHS)</td></tr>
  136. <tr class="separator:a3ab8c224fb2c6be708e58e45fd0ee987"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:a67ff481d7a24cf569cb694519dc3ff63" id="r_a67ff481d7a24cf569cb694519dc3ff63"><td class="memItemLeft" align="right" valign="top">JPH_INLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a67ff481d7a24cf569cb694519dc3ff63">Vec3</a> (<a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a> inRHS)</td></tr>
  138. <tr class="separator:a67ff481d7a24cf569cb694519dc3ff63"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:ac3696d27478b928d1cefab61a5178933" id="r_ac3696d27478b928d1cefab61a5178933"><td class="memItemLeft" align="right" valign="top">JPH_INLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3696d27478b928d1cefab61a5178933">Vec3</a> (const <a class="el" href="class_float3.html">Float3</a> &amp;inV)</td></tr>
  140. <tr class="memdesc:ac3696d27478b928d1cefab61a5178933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load 3 floats from memory. <br /></td></tr>
  141. <tr class="separator:ac3696d27478b928d1cefab61a5178933"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a0faea2347673a7eb375a071b9190b74e" id="r_a0faea2347673a7eb375a071b9190b74e"><td class="memItemLeft" align="right" valign="top">JPH_INLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0faea2347673a7eb375a071b9190b74e">Vec3</a> (float inX, float inY, float inZ)</td></tr>
  143. <tr class="memdesc:a0faea2347673a7eb375a071b9190b74e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a vector from 3 components. <br /></td></tr>
  144. <tr class="separator:a0faea2347673a7eb375a071b9190b74e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:a284e29f161ae7709a934f402bd2a848c" id="r_a284e29f161ae7709a934f402bd2a848c"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a284e29f161ae7709a934f402bd2a848c">GetX</a> () const</td></tr>
  146. <tr class="memdesc:a284e29f161ae7709a934f402bd2a848c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get individual components. <br /></td></tr>
  147. <tr class="separator:a284e29f161ae7709a934f402bd2a848c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:aac08ebd63b9ab4fa089a5ed3224a8679" id="r_aac08ebd63b9ab4fa089a5ed3224a8679"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac08ebd63b9ab4fa089a5ed3224a8679">GetY</a> () const</td></tr>
  149. <tr class="separator:aac08ebd63b9ab4fa089a5ed3224a8679"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:aeca36d050a7c2b41d3ac0438874d8c60" id="r_aeca36d050a7c2b41d3ac0438874d8c60"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeca36d050a7c2b41d3ac0438874d8c60">GetZ</a> () const</td></tr>
  151. <tr class="separator:aeca36d050a7c2b41d3ac0438874d8c60"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. <tr class="memitem:aa56cdd546b6bb8a63a7677b4915398f0" id="r_aa56cdd546b6bb8a63a7677b4915398f0"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa56cdd546b6bb8a63a7677b4915398f0">SetX</a> (float inX)</td></tr>
  153. <tr class="memdesc:aa56cdd546b6bb8a63a7677b4915398f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set individual components. <br /></td></tr>
  154. <tr class="separator:aa56cdd546b6bb8a63a7677b4915398f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:a546dea138085c70aab8ce65328c96636" id="r_a546dea138085c70aab8ce65328c96636"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a546dea138085c70aab8ce65328c96636">SetY</a> (float inY)</td></tr>
  156. <tr class="separator:a546dea138085c70aab8ce65328c96636"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a91b9fad968034550f4681c14273c77d8" id="r_a91b9fad968034550f4681c14273c77d8"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a91b9fad968034550f4681c14273c77d8">SetZ</a> (float inZ)</td></tr>
  158. <tr class="separator:a91b9fad968034550f4681c14273c77d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:ad124c5400eba8ee0b0cf429553c4ed2c" id="r_ad124c5400eba8ee0b0cf429553c4ed2c"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad124c5400eba8ee0b0cf429553c4ed2c">Set</a> (float inX, float inY, float inZ)</td></tr>
  160. <tr class="memdesc:ad124c5400eba8ee0b0cf429553c4ed2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all components. <br /></td></tr>
  161. <tr class="separator:ad124c5400eba8ee0b0cf429553c4ed2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. <tr class="memitem:abaa362706e12d5e3fa8d950ba80d173e" id="r_abaa362706e12d5e3fa8d950ba80d173e"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abaa362706e12d5e3fa8d950ba80d173e">operator[]</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inCoordinate) const</td></tr>
  163. <tr class="memdesc:abaa362706e12d5e3fa8d950ba80d173e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get float component by index. <br /></td></tr>
  164. <tr class="separator:abaa362706e12d5e3fa8d950ba80d173e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. <tr class="memitem:a1ef1f1ce4031e9ecd4545799525281d8" id="r_a1ef1f1ce4031e9ecd4545799525281d8"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ef1f1ce4031e9ecd4545799525281d8">SetComponent</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inCoordinate, float inValue)</td></tr>
  166. <tr class="memdesc:a1ef1f1ce4031e9ecd4545799525281d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set float component by index. <br /></td></tr>
  167. <tr class="separator:a1ef1f1ce4031e9ecd4545799525281d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr class="memitem:a154b889fe51e3cc420716ad087b524ec" id="r_a154b889fe51e3cc420716ad087b524ec"><td class="memItemLeft" align="right" valign="top">JPH_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a154b889fe51e3cc420716ad087b524ec">operator==</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  169. <tr class="memdesc:a154b889fe51e3cc420716ad087b524ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparison. <br /></td></tr>
  170. <tr class="separator:a154b889fe51e3cc420716ad087b524ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:a43de7b2b748f26d8854afee5edb944d5" id="r_a43de7b2b748f26d8854afee5edb944d5"><td class="memItemLeft" align="right" valign="top">JPH_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a43de7b2b748f26d8854afee5edb944d5">operator!=</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  172. <tr class="separator:a43de7b2b748f26d8854afee5edb944d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  173. <tr class="memitem:a0b134a58f09912cb5cac913313487fad" id="r_a0b134a58f09912cb5cac913313487fad"><td class="memItemLeft" align="right" valign="top">JPH_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0b134a58f09912cb5cac913313487fad">IsClose</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2, float inMaxDistSq=1.0e-12f) const</td></tr>
  174. <tr class="memdesc:a0b134a58f09912cb5cac913313487fad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if two vectors are close. <br /></td></tr>
  175. <tr class="separator:a0b134a58f09912cb5cac913313487fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:acee93ea875b86bc0f63edebe2b592dbc" id="r_acee93ea875b86bc0f63edebe2b592dbc"><td class="memItemLeft" align="right" valign="top">JPH_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acee93ea875b86bc0f63edebe2b592dbc">IsNearZero</a> (float inMaxDistSq=1.0e-12f) const</td></tr>
  177. <tr class="memdesc:acee93ea875b86bc0f63edebe2b592dbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if vector is near zero. <br /></td></tr>
  178. <tr class="separator:acee93ea875b86bc0f63edebe2b592dbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a2f10743d69960eaac721399e4ede190a" id="r_a2f10743d69960eaac721399e4ede190a"><td class="memItemLeft" align="right" valign="top">JPH_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f10743d69960eaac721399e4ede190a">IsNormalized</a> (float inTolerance=1.0e-6f) const</td></tr>
  180. <tr class="memdesc:a2f10743d69960eaac721399e4ede190a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if vector is normalized. <br /></td></tr>
  181. <tr class="separator:a2f10743d69960eaac721399e4ede190a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:ae2ae38edbb4672657e92bf1c67bb7bea" id="r_ae2ae38edbb4672657e92bf1c67bb7bea"><td class="memItemLeft" align="right" valign="top">JPH_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2ae38edbb4672657e92bf1c67bb7bea">IsNaN</a> () const</td></tr>
  183. <tr class="memdesc:ae2ae38edbb4672657e92bf1c67bb7bea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if vector contains NaN elements. <br /></td></tr>
  184. <tr class="separator:ae2ae38edbb4672657e92bf1c67bb7bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:aad39352503c4bf9184727dde9dc11f04" id="r_aad39352503c4bf9184727dde9dc11f04"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad39352503c4bf9184727dde9dc11f04">operator*</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  186. <tr class="memdesc:aad39352503c4bf9184727dde9dc11f04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply two float vectors (component wise) <br /></td></tr>
  187. <tr class="separator:aad39352503c4bf9184727dde9dc11f04"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:ab8c89d26b3b090939173acf1ccd2d2e5" id="r_ab8c89d26b3b090939173acf1ccd2d2e5"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab8c89d26b3b090939173acf1ccd2d2e5">operator*</a> (float inV2) const</td></tr>
  189. <tr class="memdesc:ab8c89d26b3b090939173acf1ccd2d2e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply vector with float. <br /></td></tr>
  190. <tr class="separator:ab8c89d26b3b090939173acf1ccd2d2e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:a4c3d1ff36432563aef787f8ce7172bff" id="r_a4c3d1ff36432563aef787f8ce7172bff"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4c3d1ff36432563aef787f8ce7172bff">operator/</a> (float inV2) const</td></tr>
  192. <tr class="memdesc:a4c3d1ff36432563aef787f8ce7172bff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide vector by float. <br /></td></tr>
  193. <tr class="separator:a4c3d1ff36432563aef787f8ce7172bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  194. <tr class="memitem:ae0bbf04d3791ef12a0b2d114e190ed8e" id="r_ae0bbf04d3791ef12a0b2d114e190ed8e"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0bbf04d3791ef12a0b2d114e190ed8e">operator*=</a> (float inV2)</td></tr>
  195. <tr class="memdesc:ae0bbf04d3791ef12a0b2d114e190ed8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply vector with float. <br /></td></tr>
  196. <tr class="separator:ae0bbf04d3791ef12a0b2d114e190ed8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:a8d7e6d43ffa3bac48b87aa69c278e420" id="r_a8d7e6d43ffa3bac48b87aa69c278e420"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d7e6d43ffa3bac48b87aa69c278e420">operator*=</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  198. <tr class="memdesc:a8d7e6d43ffa3bac48b87aa69c278e420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply vector with vector. <br /></td></tr>
  199. <tr class="separator:a8d7e6d43ffa3bac48b87aa69c278e420"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:a50f5b360029a35374a1b811107e22a81" id="r_a50f5b360029a35374a1b811107e22a81"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a50f5b360029a35374a1b811107e22a81">operator/=</a> (float inV2)</td></tr>
  201. <tr class="memdesc:a50f5b360029a35374a1b811107e22a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide vector by float. <br /></td></tr>
  202. <tr class="separator:a50f5b360029a35374a1b811107e22a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
  203. <tr class="memitem:a7405124af9f071f00992b85f5c25af61" id="r_a7405124af9f071f00992b85f5c25af61"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7405124af9f071f00992b85f5c25af61">operator+</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  204. <tr class="memdesc:a7405124af9f071f00992b85f5c25af61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two float vectors (component wise) <br /></td></tr>
  205. <tr class="separator:a7405124af9f071f00992b85f5c25af61"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. <tr class="memitem:ae0dfbede4fa779658ba48bd13449c3f1" id="r_ae0dfbede4fa779658ba48bd13449c3f1"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0dfbede4fa779658ba48bd13449c3f1">operator+=</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  207. <tr class="memdesc:ae0dfbede4fa779658ba48bd13449c3f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two float vectors (component wise) <br /></td></tr>
  208. <tr class="separator:ae0dfbede4fa779658ba48bd13449c3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  209. <tr class="memitem:ab05753413af282b8cbd879c334c8e5aa" id="r_ab05753413af282b8cbd879c334c8e5aa"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab05753413af282b8cbd879c334c8e5aa">operator-</a> () const</td></tr>
  210. <tr class="memdesc:ab05753413af282b8cbd879c334c8e5aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negate. <br /></td></tr>
  211. <tr class="separator:ab05753413af282b8cbd879c334c8e5aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a4f5d105c3b92a557557906ebd6003647" id="r_a4f5d105c3b92a557557906ebd6003647"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f5d105c3b92a557557906ebd6003647">operator-</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  213. <tr class="memdesc:a4f5d105c3b92a557557906ebd6003647"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract two float vectors (component wise) <br /></td></tr>
  214. <tr class="separator:a4f5d105c3b92a557557906ebd6003647"><td class="memSeparator" colspan="2">&#160;</td></tr>
  215. <tr class="memitem:a3c73495e25d5c416f1108ad89fb614d6" id="r_a3c73495e25d5c416f1108ad89fb614d6"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c73495e25d5c416f1108ad89fb614d6">operator-=</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  216. <tr class="memdesc:a3c73495e25d5c416f1108ad89fb614d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract two float vectors (component wise) <br /></td></tr>
  217. <tr class="separator:a3c73495e25d5c416f1108ad89fb614d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:a8dd428d3cc8fff37c91a4c01de2f5078" id="r_a8dd428d3cc8fff37c91a4c01de2f5078"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8dd428d3cc8fff37c91a4c01de2f5078">operator/</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  219. <tr class="memdesc:a8dd428d3cc8fff37c91a4c01de2f5078"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide (component wise) <br /></td></tr>
  220. <tr class="separator:a8dd428d3cc8fff37c91a4c01de2f5078"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:afd477997c0834bd3080156e730ced38d" id="r_afd477997c0834bd3080156e730ced38d"><td class="memTemplParams" colspan="2">template&lt;<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleX, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleY, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleZ&gt; </td></tr>
  222. <tr class="memitem:afd477997c0834bd3080156e730ced38d"><td class="memTemplItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#afd477997c0834bd3080156e730ced38d">Swizzle</a> () const</td></tr>
  223. <tr class="memdesc:afd477997c0834bd3080156e730ced38d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swizzle the elements in inV. <br /></td></tr>
  224. <tr class="separator:afd477997c0834bd3080156e730ced38d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  225. <tr class="memitem:a1b03f087ce2755a85ccba4ba56f1e64b" id="r_a1b03f087ce2755a85ccba4ba56f1e64b"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec4.html">Vec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b03f087ce2755a85ccba4ba56f1e64b">SplatX</a> () const</td></tr>
  226. <tr class="memdesc:a1b03f087ce2755a85ccba4ba56f1e64b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replicate the X component to all components. <br /></td></tr>
  227. <tr class="separator:a1b03f087ce2755a85ccba4ba56f1e64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  228. <tr class="memitem:aad5b4211a6d98be56362559eefd9b029" id="r_aad5b4211a6d98be56362559eefd9b029"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec4.html">Vec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad5b4211a6d98be56362559eefd9b029">SplatY</a> () const</td></tr>
  229. <tr class="memdesc:aad5b4211a6d98be56362559eefd9b029"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replicate the Y component to all components. <br /></td></tr>
  230. <tr class="separator:aad5b4211a6d98be56362559eefd9b029"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <tr class="memitem:a81f4448e17219aafda0e3b886709d1f4" id="r_a81f4448e17219aafda0e3b886709d1f4"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec4.html">Vec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a81f4448e17219aafda0e3b886709d1f4">SplatZ</a> () const</td></tr>
  232. <tr class="memdesc:a81f4448e17219aafda0e3b886709d1f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replicate the Z component to all components. <br /></td></tr>
  233. <tr class="separator:a81f4448e17219aafda0e3b886709d1f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:a502453ae3005d5b84a221adf80721f92" id="r_a502453ae3005d5b84a221adf80721f92"><td class="memItemLeft" align="right" valign="top">JPH_INLINE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a502453ae3005d5b84a221adf80721f92">GetLowestComponentIndex</a> () const</td></tr>
  235. <tr class="memdesc:a502453ae3005d5b84a221adf80721f92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get index of component with lowest value. <br /></td></tr>
  236. <tr class="separator:a502453ae3005d5b84a221adf80721f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. <tr class="memitem:aefba3895f1a98e1a5854b7e79598a408" id="r_aefba3895f1a98e1a5854b7e79598a408"><td class="memItemLeft" align="right" valign="top">JPH_INLINE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aefba3895f1a98e1a5854b7e79598a408">GetHighestComponentIndex</a> () const</td></tr>
  238. <tr class="memdesc:aefba3895f1a98e1a5854b7e79598a408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get index of component with highest value. <br /></td></tr>
  239. <tr class="separator:aefba3895f1a98e1a5854b7e79598a408"><td class="memSeparator" colspan="2">&#160;</td></tr>
  240. <tr class="memitem:a60c863c1cdad322a1af54e77a4af8f02" id="r_a60c863c1cdad322a1af54e77a4af8f02"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a60c863c1cdad322a1af54e77a4af8f02">Abs</a> () const</td></tr>
  241. <tr class="memdesc:a60c863c1cdad322a1af54e77a4af8f02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the absolute value of each of the components. <br /></td></tr>
  242. <tr class="separator:a60c863c1cdad322a1af54e77a4af8f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
  243. <tr class="memitem:a6bdb4929eab084e74d1e0ea3ae29d8ad" id="r_a6bdb4929eab084e74d1e0ea3ae29d8ad"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6bdb4929eab084e74d1e0ea3ae29d8ad">Reciprocal</a> () const</td></tr>
  244. <tr class="memdesc:a6bdb4929eab084e74d1e0ea3ae29d8ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reciprocal vector (1 / value) for each of the components. <br /></td></tr>
  245. <tr class="separator:a6bdb4929eab084e74d1e0ea3ae29d8ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. <tr class="memitem:a224811af391ccfd1e05282eda22d1de8" id="r_a224811af391ccfd1e05282eda22d1de8"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a224811af391ccfd1e05282eda22d1de8">Cross</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  247. <tr class="memdesc:a224811af391ccfd1e05282eda22d1de8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cross product. <br /></td></tr>
  248. <tr class="separator:a224811af391ccfd1e05282eda22d1de8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  249. <tr class="memitem:ae94bad18d2f3d3b2a75f69022f67c7e0" id="r_ae94bad18d2f3d3b2a75f69022f67c7e0"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae94bad18d2f3d3b2a75f69022f67c7e0">DotV</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  250. <tr class="memdesc:ae94bad18d2f3d3b2a75f69022f67c7e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dot product, returns the dot product in X, Y and Z components. <br /></td></tr>
  251. <tr class="separator:ae94bad18d2f3d3b2a75f69022f67c7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  252. <tr class="memitem:a609366221e50c7b3134d80a80d963312" id="r_a609366221e50c7b3134d80a80d963312"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec4.html">Vec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a609366221e50c7b3134d80a80d963312">DotV4</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  253. <tr class="memdesc:a609366221e50c7b3134d80a80d963312"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dot product, returns the dot product in X, Y, Z and W components. <br /></td></tr>
  254. <tr class="separator:a609366221e50c7b3134d80a80d963312"><td class="memSeparator" colspan="2">&#160;</td></tr>
  255. <tr class="memitem:a0e078ff09f69e669db71a2b0e37939ff" id="r_a0e078ff09f69e669db71a2b0e37939ff"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e078ff09f69e669db71a2b0e37939ff">Dot</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2) const</td></tr>
  256. <tr class="memdesc:a0e078ff09f69e669db71a2b0e37939ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dot product. <br /></td></tr>
  257. <tr class="separator:a0e078ff09f69e669db71a2b0e37939ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  258. <tr class="memitem:aba501a6a474028084799f871c9083dc1" id="r_aba501a6a474028084799f871c9083dc1"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aba501a6a474028084799f871c9083dc1">LengthSq</a> () const</td></tr>
  259. <tr class="memdesc:aba501a6a474028084799f871c9083dc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Squared length of vector. <br /></td></tr>
  260. <tr class="separator:aba501a6a474028084799f871c9083dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  261. <tr class="memitem:a38a9efffc3f9413f3dd702abc73eb9a2" id="r_a38a9efffc3f9413f3dd702abc73eb9a2"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a38a9efffc3f9413f3dd702abc73eb9a2">Length</a> () const</td></tr>
  262. <tr class="memdesc:a38a9efffc3f9413f3dd702abc73eb9a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of vector. <br /></td></tr>
  263. <tr class="separator:a38a9efffc3f9413f3dd702abc73eb9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  264. <tr class="memitem:a0f7559f2691ad67826f42ca19916b7a9" id="r_a0f7559f2691ad67826f42ca19916b7a9"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f7559f2691ad67826f42ca19916b7a9">Normalized</a> () const</td></tr>
  265. <tr class="memdesc:a0f7559f2691ad67826f42ca19916b7a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalize vector. <br /></td></tr>
  266. <tr class="separator:a0f7559f2691ad67826f42ca19916b7a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  267. <tr class="memitem:a6c6409cad56e4e357f73d43cd719ffe8" id="r_a6c6409cad56e4e357f73d43cd719ffe8"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6c6409cad56e4e357f73d43cd719ffe8">NormalizedOr</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inZeroValue) const</td></tr>
  268. <tr class="memdesc:a6c6409cad56e4e357f73d43cd719ffe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalize vector or return inZeroValue if the length of the vector is zero. <br /></td></tr>
  269. <tr class="separator:a6c6409cad56e4e357f73d43cd719ffe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  270. <tr class="memitem:ab22c62c48d2de13947c0cd3413018364" id="r_ab22c62c48d2de13947c0cd3413018364"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab22c62c48d2de13947c0cd3413018364">StoreFloat3</a> (<a class="el" href="class_float3.html">Float3</a> *outV) const</td></tr>
  271. <tr class="memdesc:ab22c62c48d2de13947c0cd3413018364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store 3 floats to memory. <br /></td></tr>
  272. <tr class="separator:ab22c62c48d2de13947c0cd3413018364"><td class="memSeparator" colspan="2">&#160;</td></tr>
  273. <tr class="memitem:aa3c728704083c719616638ceb698b2f1" id="r_aa3c728704083c719616638ceb698b2f1"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa3c728704083c719616638ceb698b2f1">ToInt</a> () const</td></tr>
  274. <tr class="memdesc:aa3c728704083c719616638ceb698b2f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert each component from a float to an int. <br /></td></tr>
  275. <tr class="separator:aa3c728704083c719616638ceb698b2f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  276. <tr class="memitem:ae8373cd45fbf550d26729f98a68b3e4a" id="r_ae8373cd45fbf550d26729f98a68b3e4a"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae8373cd45fbf550d26729f98a68b3e4a">ReinterpretAsInt</a> () const</td></tr>
  277. <tr class="memdesc:ae8373cd45fbf550d26729f98a68b3e4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reinterpret <a class="el" href="class_vec3.html">Vec3</a> as a <a class="el" href="class_u_vec4.html">UVec4</a> (doesn't change the bits) <br /></td></tr>
  278. <tr class="separator:ae8373cd45fbf550d26729f98a68b3e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  279. <tr class="memitem:a3b5c2f1c893d46d390428ef8c487cc7d" id="r_a3b5c2f1c893d46d390428ef8c487cc7d"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3b5c2f1c893d46d390428ef8c487cc7d">ReduceMin</a> () const</td></tr>
  280. <tr class="memdesc:a3b5c2f1c893d46d390428ef8c487cc7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum of X, Y and Z. <br /></td></tr>
  281. <tr class="separator:a3b5c2f1c893d46d390428ef8c487cc7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  282. <tr class="memitem:a3d4dc6f6807ead86b5150e7904ac80f5" id="r_a3d4dc6f6807ead86b5150e7904ac80f5"><td class="memItemLeft" align="right" valign="top">JPH_INLINE float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d4dc6f6807ead86b5150e7904ac80f5">ReduceMax</a> () const</td></tr>
  283. <tr class="memdesc:a3d4dc6f6807ead86b5150e7904ac80f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum of X, Y and Z. <br /></td></tr>
  284. <tr class="separator:a3d4dc6f6807ead86b5150e7904ac80f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  285. <tr class="memitem:ae3693c78a72d92e9ab821025f8ed28cf" id="r_ae3693c78a72d92e9ab821025f8ed28cf"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae3693c78a72d92e9ab821025f8ed28cf">Sqrt</a> () const</td></tr>
  286. <tr class="memdesc:ae3693c78a72d92e9ab821025f8ed28cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Component wise square root. <br /></td></tr>
  287. <tr class="separator:ae3693c78a72d92e9ab821025f8ed28cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  288. <tr class="memitem:a24a96972fdbe04ae9a3e340fd4c39b81" id="r_a24a96972fdbe04ae9a3e340fd4c39b81"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a24a96972fdbe04ae9a3e340fd4c39b81">GetNormalizedPerpendicular</a> () const</td></tr>
  289. <tr class="memdesc:a24a96972fdbe04ae9a3e340fd4c39b81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get normalized vector that is perpendicular to this vector. <br /></td></tr>
  290. <tr class="separator:a24a96972fdbe04ae9a3e340fd4c39b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
  291. <tr class="memitem:aecf767007e342e11f109b83a09449c7f" id="r_aecf767007e342e11f109b83a09449c7f"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aecf767007e342e11f109b83a09449c7f">GetSign</a> () const</td></tr>
  292. <tr class="memdesc:aecf767007e342e11f109b83a09449c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get vector that contains the sign of each element (returns 1.0f if positive, -1.0f if negative) <br /></td></tr>
  293. <tr class="separator:aecf767007e342e11f109b83a09449c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  294. <tr class="memitem:a70418820859871b170cd13a2f02d37f6" id="r_a70418820859871b170cd13a2f02d37f6"><td class="memTemplParams" colspan="2">template&lt;int X, int Y, int Z&gt; </td></tr>
  295. <tr class="memitem:a70418820859871b170cd13a2f02d37f6"><td class="memTemplItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a70418820859871b170cd13a2f02d37f6">FlipSign</a> () const</td></tr>
  296. <tr class="memdesc:a70418820859871b170cd13a2f02d37f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flips the signs of the components, e.g. FlipSign&lt;-1, 1, -1&gt;() will flip the signs of the X and Z components. <br /></td></tr>
  297. <tr class="separator:a70418820859871b170cd13a2f02d37f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  298. <tr class="memitem:a80a9928bfda26f5f3326dec42a3b68b1" id="r_a80a9928bfda26f5f3326dec42a3b68b1"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a80a9928bfda26f5f3326dec42a3b68b1">CompressUnitVector</a> () const</td></tr>
  299. <tr class="memdesc:a80a9928bfda26f5f3326dec42a3b68b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a unit vector to a 32 bit value, precision is around 10^-4. <br /></td></tr>
  300. <tr class="separator:a80a9928bfda26f5f3326dec42a3b68b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  301. <tr class="memitem:a9dc70ce592b9de527bdf81b835b2e8f5" id="r_a9dc70ce592b9de527bdf81b835b2e8f5"><td class="memItemLeft" align="right" valign="top">JPH_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9dc70ce592b9de527bdf81b835b2e8f5">CheckW</a> () const</td></tr>
  302. <tr class="memdesc:a9dc70ce592b9de527bdf81b835b2e8f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal helper function that checks that W is equal to Z, so e.g. dividing by it should not generate div by 0. <br /></td></tr>
  303. <tr class="separator:a9dc70ce592b9de527bdf81b835b2e8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  304. <tr class="memitem:aeeadce7b9b442cccab2d2f3cbde2ccb9" id="r_aeeadce7b9b442cccab2d2f3cbde2ccb9"><td class="memTemplParams" colspan="2">template&lt;<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleX, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleY, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleZ&gt; </td></tr>
  305. <tr class="memitem:aeeadce7b9b442cccab2d2f3cbde2ccb9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aeeadce7b9b442cccab2d2f3cbde2ccb9">Swizzle</a> () const</td></tr>
  306. <tr class="separator:aeeadce7b9b442cccab2d2f3cbde2ccb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  307. </table><table class="memberdecls">
  308. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
  309. Static Public Member Functions</h2></td></tr>
  310. <tr class="memitem:ad03c52ab27761bc1e64e33c47632ba51" id="r_ad03c52ab27761bc1e64e33c47632ba51"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad03c52ab27761bc1e64e33c47632ba51">sZero</a> ()</td></tr>
  311. <tr class="memdesc:ad03c52ab27761bc1e64e33c47632ba51"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> with all zeros. <br /></td></tr>
  312. <tr class="separator:ad03c52ab27761bc1e64e33c47632ba51"><td class="memSeparator" colspan="2">&#160;</td></tr>
  313. <tr class="memitem:a6bc0731860c69d4e3151981d2dc24e93" id="r_a6bc0731860c69d4e3151981d2dc24e93"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6bc0731860c69d4e3151981d2dc24e93">sOne</a> ()</td></tr>
  314. <tr class="memdesc:a6bc0731860c69d4e3151981d2dc24e93"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> with all ones. <br /></td></tr>
  315. <tr class="separator:a6bc0731860c69d4e3151981d2dc24e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
  316. <tr class="memitem:aee68177ac267822e1823a9a0f7525014" id="r_aee68177ac267822e1823a9a0f7525014"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aee68177ac267822e1823a9a0f7525014">sNaN</a> ()</td></tr>
  317. <tr class="memdesc:aee68177ac267822e1823a9a0f7525014"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> with all NaN's. <br /></td></tr>
  318. <tr class="separator:aee68177ac267822e1823a9a0f7525014"><td class="memSeparator" colspan="2">&#160;</td></tr>
  319. <tr class="memitem:a142cc5c79f08229eb11532c26f1a1e90" id="r_a142cc5c79f08229eb11532c26f1a1e90"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a142cc5c79f08229eb11532c26f1a1e90">sAxisX</a> ()</td></tr>
  320. <tr class="memdesc:a142cc5c79f08229eb11532c26f1a1e90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vectors with the principal axis. <br /></td></tr>
  321. <tr class="separator:a142cc5c79f08229eb11532c26f1a1e90"><td class="memSeparator" colspan="2">&#160;</td></tr>
  322. <tr class="memitem:a2819718744feddb0bc150c6ccc26fad1" id="r_a2819718744feddb0bc150c6ccc26fad1"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2819718744feddb0bc150c6ccc26fad1">sAxisY</a> ()</td></tr>
  323. <tr class="separator:a2819718744feddb0bc150c6ccc26fad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  324. <tr class="memitem:aa16ac2747950d2e64537f8454872d174" id="r_aa16ac2747950d2e64537f8454872d174"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa16ac2747950d2e64537f8454872d174">sAxisZ</a> ()</td></tr>
  325. <tr class="separator:aa16ac2747950d2e64537f8454872d174"><td class="memSeparator" colspan="2">&#160;</td></tr>
  326. <tr class="memitem:ad6be51ce14811d6c196784d20cb39b98" id="r_ad6be51ce14811d6c196784d20cb39b98"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad6be51ce14811d6c196784d20cb39b98">sReplicate</a> (float inV)</td></tr>
  327. <tr class="memdesc:ad6be51ce14811d6c196784d20cb39b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replicate inV across all components. <br /></td></tr>
  328. <tr class="separator:ad6be51ce14811d6c196784d20cb39b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
  329. <tr class="memitem:aea30fe731618ffa249ecdcba2c66ab4e" id="r_aea30fe731618ffa249ecdcba2c66ab4e"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aea30fe731618ffa249ecdcba2c66ab4e">sLoadFloat3Unsafe</a> (const <a class="el" href="class_float3.html">Float3</a> &amp;inV)</td></tr>
  330. <tr class="memdesc:aea30fe731618ffa249ecdcba2c66ab4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load 3 floats from memory (reads 32 bits extra which it doesn't use) <br /></td></tr>
  331. <tr class="separator:aea30fe731618ffa249ecdcba2c66ab4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  332. <tr class="memitem:a20b4cc5ec27717e3ee651536e2a41a29" id="r_a20b4cc5ec27717e3ee651536e2a41a29"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20b4cc5ec27717e3ee651536e2a41a29">sMin</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  333. <tr class="memdesc:a20b4cc5ec27717e3ee651536e2a41a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum value of each of the components. <br /></td></tr>
  334. <tr class="separator:a20b4cc5ec27717e3ee651536e2a41a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
  335. <tr class="memitem:a0d01523ff685cea4e0c5173fac13fc61" id="r_a0d01523ff685cea4e0c5173fac13fc61"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d01523ff685cea4e0c5173fac13fc61">sMax</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  336. <tr class="memdesc:a0d01523ff685cea4e0c5173fac13fc61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum of each of the components. <br /></td></tr>
  337. <tr class="separator:a0d01523ff685cea4e0c5173fac13fc61"><td class="memSeparator" colspan="2">&#160;</td></tr>
  338. <tr class="memitem:ad9e900bfd5887a8d2e4f8ed70d69ac4e" id="r_ad9e900bfd5887a8d2e4f8ed70d69ac4e"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad9e900bfd5887a8d2e4f8ed70d69ac4e">sClamp</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inMin, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inMax)</td></tr>
  339. <tr class="memdesc:ad9e900bfd5887a8d2e4f8ed70d69ac4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clamp a vector between min and max (component wise) <br /></td></tr>
  340. <tr class="separator:ad9e900bfd5887a8d2e4f8ed70d69ac4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  341. <tr class="memitem:acd0e4130c1b2863b203812f4922b3642" id="r_acd0e4130c1b2863b203812f4922b3642"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acd0e4130c1b2863b203812f4922b3642">sEquals</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  342. <tr class="memdesc:acd0e4130c1b2863b203812f4922b3642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equals (component wise) <br /></td></tr>
  343. <tr class="separator:acd0e4130c1b2863b203812f4922b3642"><td class="memSeparator" colspan="2">&#160;</td></tr>
  344. <tr class="memitem:ad376453f8dddd6653c2ead9c02951c48" id="r_ad376453f8dddd6653c2ead9c02951c48"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad376453f8dddd6653c2ead9c02951c48">sLess</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  345. <tr class="memdesc:ad376453f8dddd6653c2ead9c02951c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Less than (component wise) <br /></td></tr>
  346. <tr class="separator:ad376453f8dddd6653c2ead9c02951c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
  347. <tr class="memitem:a483dc7054df9a3f8c48303a31be6c1e0" id="r_a483dc7054df9a3f8c48303a31be6c1e0"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a483dc7054df9a3f8c48303a31be6c1e0">sLessOrEqual</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  348. <tr class="memdesc:a483dc7054df9a3f8c48303a31be6c1e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Less than or equal (component wise) <br /></td></tr>
  349. <tr class="separator:a483dc7054df9a3f8c48303a31be6c1e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  350. <tr class="memitem:a8eae791f0661b2c625a42034f6480bd1" id="r_a8eae791f0661b2c625a42034f6480bd1"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8eae791f0661b2c625a42034f6480bd1">sGreater</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  351. <tr class="memdesc:a8eae791f0661b2c625a42034f6480bd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Greater than (component wise) <br /></td></tr>
  352. <tr class="separator:a8eae791f0661b2c625a42034f6480bd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  353. <tr class="memitem:a3a5e5fc2d3bf17a05723d4e411e4202d" id="r_a3a5e5fc2d3bf17a05723d4e411e4202d"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_u_vec4.html">UVec4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3a5e5fc2d3bf17a05723d4e411e4202d">sGreaterOrEqual</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  354. <tr class="memdesc:a3a5e5fc2d3bf17a05723d4e411e4202d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Greater than or equal (component wise) <br /></td></tr>
  355. <tr class="separator:a3a5e5fc2d3bf17a05723d4e411e4202d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  356. <tr class="memitem:af1046795a7c8524bcef538c32ff0089b" id="r_af1046795a7c8524bcef538c32ff0089b"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1046795a7c8524bcef538c32ff0089b">sFusedMultiplyAdd</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inMul1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inMul2, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inAdd)</td></tr>
  357. <tr class="memdesc:af1046795a7c8524bcef538c32ff0089b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates inMul1 * inMul2 + inAdd. <br /></td></tr>
  358. <tr class="separator:af1046795a7c8524bcef538c32ff0089b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  359. <tr class="memitem:ae0f4ab3438fe6b9782010ef8212a6d69" id="r_ae0f4ab3438fe6b9782010ef8212a6d69"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0f4ab3438fe6b9782010ef8212a6d69">sSelect</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inNotSet, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inSet, <a class="el" href="_math_types_8h.html#afe962105a594eb55fe13daa266182a7e">UVec4Arg</a> inControl)</td></tr>
  360. <tr class="memdesc:ae0f4ab3438fe6b9782010ef8212a6d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Component wise select, returns inNotSet when highest bit of inControl = 0 and inSet when highest bit of inControl = 1. <br /></td></tr>
  361. <tr class="separator:ae0f4ab3438fe6b9782010ef8212a6d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
  362. <tr class="memitem:a86d172de30a6cbd55d82a2b54272533e" id="r_a86d172de30a6cbd55d82a2b54272533e"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a86d172de30a6cbd55d82a2b54272533e">sOr</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  363. <tr class="memdesc:a86d172de30a6cbd55d82a2b54272533e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical or (component wise) <br /></td></tr>
  364. <tr class="separator:a86d172de30a6cbd55d82a2b54272533e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  365. <tr class="memitem:a3327f133140fbd8cf8e0adaa59480ab3" id="r_a3327f133140fbd8cf8e0adaa59480ab3"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3327f133140fbd8cf8e0adaa59480ab3">sXor</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  366. <tr class="memdesc:a3327f133140fbd8cf8e0adaa59480ab3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical xor (component wise) <br /></td></tr>
  367. <tr class="separator:a3327f133140fbd8cf8e0adaa59480ab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  368. <tr class="memitem:a96e892074ac7e8638cb70ede768f08a8" id="r_a96e892074ac7e8638cb70ede768f08a8"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a96e892074ac7e8638cb70ede768f08a8">sAnd</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  369. <tr class="memdesc:a96e892074ac7e8638cb70ede768f08a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical and (component wise) <br /></td></tr>
  370. <tr class="separator:a96e892074ac7e8638cb70ede768f08a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  371. <tr class="memitem:aa1ab73a18c3b8b69303bde72cf8bc171" id="r_aa1ab73a18c3b8b69303bde72cf8bc171"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa1ab73a18c3b8b69303bde72cf8bc171">sUnitSpherical</a> (float inTheta, float inPhi)</td></tr>
  372. <tr class="separator:aa1ab73a18c3b8b69303bde72cf8bc171"><td class="memSeparator" colspan="2">&#160;</td></tr>
  373. <tr class="memitem:a2786cc1d2f3b3891dc2d41077a2ee12f" id="r_a2786cc1d2f3b3891dc2d41077a2ee12f"><td class="memTemplParams" colspan="2">template&lt;class Random &gt; </td></tr>
  374. <tr class="memitem:a2786cc1d2f3b3891dc2d41077a2ee12f"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a2786cc1d2f3b3891dc2d41077a2ee12f">sRandom</a> (Random &amp;inRandom)</td></tr>
  375. <tr class="memdesc:a2786cc1d2f3b3891dc2d41077a2ee12f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get random unit vector. <br /></td></tr>
  376. <tr class="separator:a2786cc1d2f3b3891dc2d41077a2ee12f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  377. <tr class="memitem:a3437de0e9f02cfc656dd4381934ba6fe" id="r_a3437de0e9f02cfc656dd4381934ba6fe"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3437de0e9f02cfc656dd4381934ba6fe">sDecompressUnitVector</a> (<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inValue)</td></tr>
  378. <tr class="memdesc:a3437de0e9f02cfc656dd4381934ba6fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompress a unit vector from a 32 bit value. <br /></td></tr>
  379. <tr class="separator:a3437de0e9f02cfc656dd4381934ba6fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
  380. <tr class="memitem:a0fd5f4e55649a94f140bd9d6fe38be3c" id="r_a0fd5f4e55649a94f140bd9d6fe38be3c"><td class="memItemLeft" align="right" valign="top">static JPH_INLINE <a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0fd5f4e55649a94f140bd9d6fe38be3c">sFixW</a> (<a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a> inValue)</td></tr>
  381. <tr class="memdesc:a0fd5f4e55649a94f140bd9d6fe38be3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal helper function that ensures that the Z component is replicated to the W component to prevent divisions by zero. <br /></td></tr>
  382. <tr class="separator:a0fd5f4e55649a94f140bd9d6fe38be3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  383. </table><table class="memberdecls">
  384. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
  385. Public Attributes</h2></td></tr>
  386. <tr class="memitem:a893eac48d675aac2fc01d4269fb43966" id="r_a893eac48d675aac2fc01d4269fb43966"><td class="memItemLeft" >union {&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
  387. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  388. <tr class="memitem:a7503cf3e1a413db717c81dd9c77c82d3" id="r_a7503cf3e1a413db717c81dd9c77c82d3"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a>&#160;&#160;&#160;<a class="el" href="#aa84e1ff8ea2e1cea4b73c7768966fa03">mValue</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
  389. <tr class="separator:a7503cf3e1a413db717c81dd9c77c82d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  390. <tr class="memitem:a350ea95983008d644ec435fa967f6273" id="r_a350ea95983008d644ec435fa967f6273"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="#aca3385f3736a2231ace7de3a558d2863">mF32</a> [4]&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
  391. <tr class="separator:a350ea95983008d644ec435fa967f6273"><td class="memSeparator" colspan="2">&#160;</td></tr>
  392. <tr class="memitem:a893eac48d675aac2fc01d4269fb43966" id="r_a893eac48d675aac2fc01d4269fb43966"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom">&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
  393. <tr class="separator:a893eac48d675aac2fc01d4269fb43966"><td class="memSeparator" colspan="2">&#160;</td></tr>
  394. </table><table class="memberdecls">
  395. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
  396. Static Public Attributes</h2></td></tr>
  397. <tr class="memitem:afc091778f74022132499d75cb8a0f43d" id="r_afc091778f74022132499d75cb8a0f43d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_core_8h.html#a2712a9b0f778ab9d1aa5118b4e8e6bd8">JPH_EXPORT</a> const <a class="el" href="class_static_array.html">StaticArray</a>&lt; <a class="el" href="class_vec3.html">Vec3</a>, 1026 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afc091778f74022132499d75cb8a0f43d">sUnitSphere</a></td></tr>
  398. <tr class="memdesc:afc091778f74022132499d75cb8a0f43d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A set of vectors uniformly spanning the surface of a unit sphere, usable for debug purposes. <br /></td></tr>
  399. <tr class="separator:afc091778f74022132499d75cb8a0f43d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  400. </table><table class="memberdecls">
  401. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
  402. Friends</h2></td></tr>
  403. <tr class="memitem:a4f514df42b1d780285645f9ac4ab984d" id="r_a4f514df42b1d780285645f9ac4ab984d"><td class="memItemLeft" align="right" valign="top">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f514df42b1d780285645f9ac4ab984d">operator*</a> (float inV1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV2)</td></tr>
  404. <tr class="memdesc:a4f514df42b1d780285645f9ac4ab984d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply vector with float. <br /></td></tr>
  405. <tr class="separator:a4f514df42b1d780285645f9ac4ab984d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  406. <tr class="memitem:a846e7ac0cd20c95921db85cddb24a0f8" id="r_a846e7ac0cd20c95921db85cddb24a0f8"><td class="memItemLeft" align="right" valign="top">ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a846e7ac0cd20c95921db85cddb24a0f8">operator&lt;&lt;</a> (ostream &amp;inStream, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inV)</td></tr>
  407. <tr class="memdesc:a846e7ac0cd20c95921db85cddb24a0f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">To String. <br /></td></tr>
  408. <tr class="separator:a846e7ac0cd20c95921db85cddb24a0f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  409. </table>
  410. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  411. <div class="textblock"><p>3 component vector (stored as 4 vectors). Note that we keep the 4th component the same as the 3rd component to avoid divisions by zero when JPH_FLOATING_POINT_EXCEPTIONS_ENABLED defined </p>
  412. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  413. <a id="a8f7af7dfc65ee331b1819023c1724c97" name="a8f7af7dfc65ee331b1819023c1724c97"></a>
  414. <h2 class="memtitle"><span class="permalink"><a href="#a8f7af7dfc65ee331b1819023c1724c97">&#9670;&#160;</a></span>ArgType</h2>
  415. <div class="memitem">
  416. <div class="memproto">
  417. <table class="memname">
  418. <tr>
  419. <td class="memname">using <a class="el" href="#a8f7af7dfc65ee331b1819023c1724c97">Vec3::ArgType</a> = <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td>
  420. </tr>
  421. </table>
  422. </div><div class="memdoc">
  423. </div>
  424. </div>
  425. <a id="a113d94ab6f5a2f4fd236b64b9ad7cddc" name="a113d94ab6f5a2f4fd236b64b9ad7cddc"></a>
  426. <h2 class="memtitle"><span class="permalink"><a href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">&#9670;&#160;</a></span>Type</h2>
  427. <div class="memitem">
  428. <div class="memproto">
  429. <table class="memname">
  430. <tr>
  431. <td class="memname">using <a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Vec3::Type</a> = <a class="el" href="class_vec4.html#abf8c2cd052f001035442fc47f9b240d7">Vec4::Type</a></td>
  432. </tr>
  433. </table>
  434. </div><div class="memdoc">
  435. </div>
  436. </div>
  437. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  438. <a id="aeecf02c008ca1e3a1695d8962a5b24da" name="aeecf02c008ca1e3a1695d8962a5b24da"></a>
  439. <h2 class="memtitle"><span class="permalink"><a href="#aeecf02c008ca1e3a1695d8962a5b24da">&#9670;&#160;</a></span>Vec3() <span class="overload">[1/6]</span></h2>
  440. <div class="memitem">
  441. <div class="memproto">
  442. <table class="mlabels">
  443. <tr>
  444. <td class="mlabels-left">
  445. <table class="memname">
  446. <tr>
  447. <td class="memname">Vec3::Vec3 </td>
  448. <td>(</td>
  449. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  450. <td></td>
  451. </tr>
  452. </table>
  453. </td>
  454. <td class="mlabels-right">
  455. <span class="mlabels"><span class="mlabel">default</span></span> </td>
  456. </tr>
  457. </table>
  458. </div><div class="memdoc">
  459. <p>Constructor. </p>
  460. <p>Intentionally not initialized for performance reasons </p>
  461. </div>
  462. </div>
  463. <a id="a268ea0715fd0914ffde63ca7451bde61" name="a268ea0715fd0914ffde63ca7451bde61"></a>
  464. <h2 class="memtitle"><span class="permalink"><a href="#a268ea0715fd0914ffde63ca7451bde61">&#9670;&#160;</a></span>Vec3() <span class="overload">[2/6]</span></h2>
  465. <div class="memitem">
  466. <div class="memproto">
  467. <table class="mlabels">
  468. <tr>
  469. <td class="mlabels-left">
  470. <table class="memname">
  471. <tr>
  472. <td class="memname">Vec3::Vec3 </td>
  473. <td>(</td>
  474. <td class="paramtype">const <a class="el" href="class_vec3.html">Vec3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inRHS</em></span></td><td>)</td>
  475. <td></td>
  476. </tr>
  477. </table>
  478. </td>
  479. <td class="mlabels-right">
  480. <span class="mlabels"><span class="mlabel">default</span></span> </td>
  481. </tr>
  482. </table>
  483. </div><div class="memdoc">
  484. </div>
  485. </div>
  486. <a id="a3ab8c224fb2c6be708e58e45fd0ee987" name="a3ab8c224fb2c6be708e58e45fd0ee987"></a>
  487. <h2 class="memtitle"><span class="permalink"><a href="#a3ab8c224fb2c6be708e58e45fd0ee987">&#9670;&#160;</a></span>Vec3() <span class="overload">[3/6]</span></h2>
  488. <div class="memitem">
  489. <div class="memproto">
  490. <table class="mlabels">
  491. <tr>
  492. <td class="mlabels-left">
  493. <table class="memname">
  494. <tr>
  495. <td class="memname">Vec3::Vec3 </td>
  496. <td>(</td>
  497. <td class="paramtype"><a class="el" href="_math_types_8h.html#a2f6a6bbc069039fb4bc5813de8e77aa1">Vec4Arg</a></td> <td class="paramname"><span class="paramname"><em>inRHS</em></span></td><td>)</td>
  498. <td></td>
  499. </tr>
  500. </table>
  501. </td>
  502. <td class="mlabels-right">
  503. <span class="mlabels"><span class="mlabel">explicit</span></span> </td>
  504. </tr>
  505. </table>
  506. </div><div class="memdoc">
  507. </div>
  508. </div>
  509. <a id="a67ff481d7a24cf569cb694519dc3ff63" name="a67ff481d7a24cf569cb694519dc3ff63"></a>
  510. <h2 class="memtitle"><span class="permalink"><a href="#a67ff481d7a24cf569cb694519dc3ff63">&#9670;&#160;</a></span>Vec3() <span class="overload">[4/6]</span></h2>
  511. <div class="memitem">
  512. <div class="memproto">
  513. <table class="mlabels">
  514. <tr>
  515. <td class="mlabels-left">
  516. <table class="memname">
  517. <tr>
  518. <td class="memname">JPH_INLINE Vec3::Vec3 </td>
  519. <td>(</td>
  520. <td class="paramtype"><a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a></td> <td class="paramname"><span class="paramname"><em>inRHS</em></span></td><td>)</td>
  521. <td></td>
  522. </tr>
  523. </table>
  524. </td>
  525. <td class="mlabels-right">
  526. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  527. </tr>
  528. </table>
  529. </div><div class="memdoc">
  530. </div>
  531. </div>
  532. <a id="ac3696d27478b928d1cefab61a5178933" name="ac3696d27478b928d1cefab61a5178933"></a>
  533. <h2 class="memtitle"><span class="permalink"><a href="#ac3696d27478b928d1cefab61a5178933">&#9670;&#160;</a></span>Vec3() <span class="overload">[5/6]</span></h2>
  534. <div class="memitem">
  535. <div class="memproto">
  536. <table class="mlabels">
  537. <tr>
  538. <td class="mlabels-left">
  539. <table class="memname">
  540. <tr>
  541. <td class="memname">Vec3::Vec3 </td>
  542. <td>(</td>
  543. <td class="paramtype">const <a class="el" href="class_float3.html">Float3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inV</em></span></td><td>)</td>
  544. <td></td>
  545. </tr>
  546. </table>
  547. </td>
  548. <td class="mlabels-right">
  549. <span class="mlabels"><span class="mlabel">explicit</span></span> </td>
  550. </tr>
  551. </table>
  552. </div><div class="memdoc">
  553. <p>Load 3 floats from memory. </p>
  554. </div>
  555. </div>
  556. <a id="a0faea2347673a7eb375a071b9190b74e" name="a0faea2347673a7eb375a071b9190b74e"></a>
  557. <h2 class="memtitle"><span class="permalink"><a href="#a0faea2347673a7eb375a071b9190b74e">&#9670;&#160;</a></span>Vec3() <span class="overload">[6/6]</span></h2>
  558. <div class="memitem">
  559. <div class="memproto">
  560. <table class="memname">
  561. <tr>
  562. <td class="memname">Vec3::Vec3 </td>
  563. <td>(</td>
  564. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inX</em></span>, </td>
  565. </tr>
  566. <tr>
  567. <td class="paramkey"></td>
  568. <td></td>
  569. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inY</em></span>, </td>
  570. </tr>
  571. <tr>
  572. <td class="paramkey"></td>
  573. <td></td>
  574. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inZ</em></span>&#160;)</td>
  575. </tr>
  576. </table>
  577. </div><div class="memdoc">
  578. <p>Create a vector from 3 components. </p>
  579. </div>
  580. </div>
  581. <h2 class="groupheader">Member Function Documentation</h2>
  582. <a id="a60c863c1cdad322a1af54e77a4af8f02" name="a60c863c1cdad322a1af54e77a4af8f02"></a>
  583. <h2 class="memtitle"><span class="permalink"><a href="#a60c863c1cdad322a1af54e77a4af8f02">&#9670;&#160;</a></span>Abs()</h2>
  584. <div class="memitem">
  585. <div class="memproto">
  586. <table class="memname">
  587. <tr>
  588. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::Abs </td>
  589. <td>(</td>
  590. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  591. <td> const</td>
  592. </tr>
  593. </table>
  594. </div><div class="memdoc">
  595. <p>Return the absolute value of each of the components. </p>
  596. </div>
  597. </div>
  598. <a id="a9dc70ce592b9de527bdf81b835b2e8f5" name="a9dc70ce592b9de527bdf81b835b2e8f5"></a>
  599. <h2 class="memtitle"><span class="permalink"><a href="#a9dc70ce592b9de527bdf81b835b2e8f5">&#9670;&#160;</a></span>CheckW()</h2>
  600. <div class="memitem">
  601. <div class="memproto">
  602. <table class="memname">
  603. <tr>
  604. <td class="memname">JPH_INLINE void Vec3::CheckW </td>
  605. <td>(</td>
  606. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  607. <td> const</td>
  608. </tr>
  609. </table>
  610. </div><div class="memdoc">
  611. <p>Internal helper function that checks that W is equal to Z, so e.g. dividing by it should not generate div by 0. </p>
  612. </div>
  613. </div>
  614. <a id="a80a9928bfda26f5f3326dec42a3b68b1" name="a80a9928bfda26f5f3326dec42a3b68b1"></a>
  615. <h2 class="memtitle"><span class="permalink"><a href="#a80a9928bfda26f5f3326dec42a3b68b1">&#9670;&#160;</a></span>CompressUnitVector()</h2>
  616. <div class="memitem">
  617. <div class="memproto">
  618. <table class="memname">
  619. <tr>
  620. <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> Vec3::CompressUnitVector </td>
  621. <td>(</td>
  622. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  623. <td> const</td>
  624. </tr>
  625. </table>
  626. </div><div class="memdoc">
  627. <p>Compress a unit vector to a 32 bit value, precision is around 10^-4. </p>
  628. </div>
  629. </div>
  630. <a id="a224811af391ccfd1e05282eda22d1de8" name="a224811af391ccfd1e05282eda22d1de8"></a>
  631. <h2 class="memtitle"><span class="permalink"><a href="#a224811af391ccfd1e05282eda22d1de8">&#9670;&#160;</a></span>Cross()</h2>
  632. <div class="memitem">
  633. <div class="memproto">
  634. <table class="memname">
  635. <tr>
  636. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::Cross </td>
  637. <td>(</td>
  638. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  639. <td> const</td>
  640. </tr>
  641. </table>
  642. </div><div class="memdoc">
  643. <p>Cross product. </p>
  644. </div>
  645. </div>
  646. <a id="a0e078ff09f69e669db71a2b0e37939ff" name="a0e078ff09f69e669db71a2b0e37939ff"></a>
  647. <h2 class="memtitle"><span class="permalink"><a href="#a0e078ff09f69e669db71a2b0e37939ff">&#9670;&#160;</a></span>Dot()</h2>
  648. <div class="memitem">
  649. <div class="memproto">
  650. <table class="memname">
  651. <tr>
  652. <td class="memname">float Vec3::Dot </td>
  653. <td>(</td>
  654. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  655. <td> const</td>
  656. </tr>
  657. </table>
  658. </div><div class="memdoc">
  659. <p>Dot product. </p>
  660. </div>
  661. </div>
  662. <a id="ae94bad18d2f3d3b2a75f69022f67c7e0" name="ae94bad18d2f3d3b2a75f69022f67c7e0"></a>
  663. <h2 class="memtitle"><span class="permalink"><a href="#ae94bad18d2f3d3b2a75f69022f67c7e0">&#9670;&#160;</a></span>DotV()</h2>
  664. <div class="memitem">
  665. <div class="memproto">
  666. <table class="memname">
  667. <tr>
  668. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::DotV </td>
  669. <td>(</td>
  670. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  671. <td> const</td>
  672. </tr>
  673. </table>
  674. </div><div class="memdoc">
  675. <p>Dot product, returns the dot product in X, Y and Z components. </p>
  676. </div>
  677. </div>
  678. <a id="a609366221e50c7b3134d80a80d963312" name="a609366221e50c7b3134d80a80d963312"></a>
  679. <h2 class="memtitle"><span class="permalink"><a href="#a609366221e50c7b3134d80a80d963312">&#9670;&#160;</a></span>DotV4()</h2>
  680. <div class="memitem">
  681. <div class="memproto">
  682. <table class="memname">
  683. <tr>
  684. <td class="memname"><a class="el" href="class_vec4.html">Vec4</a> Vec3::DotV4 </td>
  685. <td>(</td>
  686. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  687. <td> const</td>
  688. </tr>
  689. </table>
  690. </div><div class="memdoc">
  691. <p>Dot product, returns the dot product in X, Y, Z and W components. </p>
  692. </div>
  693. </div>
  694. <a id="a70418820859871b170cd13a2f02d37f6" name="a70418820859871b170cd13a2f02d37f6"></a>
  695. <h2 class="memtitle"><span class="permalink"><a href="#a70418820859871b170cd13a2f02d37f6">&#9670;&#160;</a></span>FlipSign()</h2>
  696. <div class="memitem">
  697. <div class="memproto">
  698. <div class="memtemplate">
  699. template&lt;int X, int Y, int Z&gt; </div>
  700. <table class="memname">
  701. <tr>
  702. <td class="memname">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> Vec3::FlipSign </td>
  703. <td>(</td>
  704. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  705. <td> const</td>
  706. </tr>
  707. </table>
  708. </div><div class="memdoc">
  709. <p>Flips the signs of the components, e.g. FlipSign&lt;-1, 1, -1&gt;() will flip the signs of the X and Z components. </p>
  710. </div>
  711. </div>
  712. <a id="aefba3895f1a98e1a5854b7e79598a408" name="aefba3895f1a98e1a5854b7e79598a408"></a>
  713. <h2 class="memtitle"><span class="permalink"><a href="#aefba3895f1a98e1a5854b7e79598a408">&#9670;&#160;</a></span>GetHighestComponentIndex()</h2>
  714. <div class="memitem">
  715. <div class="memproto">
  716. <table class="memname">
  717. <tr>
  718. <td class="memname">int Vec3::GetHighestComponentIndex </td>
  719. <td>(</td>
  720. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  721. <td> const</td>
  722. </tr>
  723. </table>
  724. </div><div class="memdoc">
  725. <p>Get index of component with highest value. </p>
  726. </div>
  727. </div>
  728. <a id="a502453ae3005d5b84a221adf80721f92" name="a502453ae3005d5b84a221adf80721f92"></a>
  729. <h2 class="memtitle"><span class="permalink"><a href="#a502453ae3005d5b84a221adf80721f92">&#9670;&#160;</a></span>GetLowestComponentIndex()</h2>
  730. <div class="memitem">
  731. <div class="memproto">
  732. <table class="memname">
  733. <tr>
  734. <td class="memname">int Vec3::GetLowestComponentIndex </td>
  735. <td>(</td>
  736. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  737. <td> const</td>
  738. </tr>
  739. </table>
  740. </div><div class="memdoc">
  741. <p>Get index of component with lowest value. </p>
  742. </div>
  743. </div>
  744. <a id="a24a96972fdbe04ae9a3e340fd4c39b81" name="a24a96972fdbe04ae9a3e340fd4c39b81"></a>
  745. <h2 class="memtitle"><span class="permalink"><a href="#a24a96972fdbe04ae9a3e340fd4c39b81">&#9670;&#160;</a></span>GetNormalizedPerpendicular()</h2>
  746. <div class="memitem">
  747. <div class="memproto">
  748. <table class="memname">
  749. <tr>
  750. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::GetNormalizedPerpendicular </td>
  751. <td>(</td>
  752. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  753. <td> const</td>
  754. </tr>
  755. </table>
  756. </div><div class="memdoc">
  757. <p>Get normalized vector that is perpendicular to this vector. </p>
  758. </div>
  759. </div>
  760. <a id="aecf767007e342e11f109b83a09449c7f" name="aecf767007e342e11f109b83a09449c7f"></a>
  761. <h2 class="memtitle"><span class="permalink"><a href="#aecf767007e342e11f109b83a09449c7f">&#9670;&#160;</a></span>GetSign()</h2>
  762. <div class="memitem">
  763. <div class="memproto">
  764. <table class="memname">
  765. <tr>
  766. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::GetSign </td>
  767. <td>(</td>
  768. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  769. <td> const</td>
  770. </tr>
  771. </table>
  772. </div><div class="memdoc">
  773. <p>Get vector that contains the sign of each element (returns 1.0f if positive, -1.0f if negative) </p>
  774. </div>
  775. </div>
  776. <a id="a284e29f161ae7709a934f402bd2a848c" name="a284e29f161ae7709a934f402bd2a848c"></a>
  777. <h2 class="memtitle"><span class="permalink"><a href="#a284e29f161ae7709a934f402bd2a848c">&#9670;&#160;</a></span>GetX()</h2>
  778. <div class="memitem">
  779. <div class="memproto">
  780. <table class="mlabels">
  781. <tr>
  782. <td class="mlabels-left">
  783. <table class="memname">
  784. <tr>
  785. <td class="memname">JPH_INLINE float Vec3::GetX </td>
  786. <td>(</td>
  787. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  788. <td> const</td>
  789. </tr>
  790. </table>
  791. </td>
  792. <td class="mlabels-right">
  793. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  794. </tr>
  795. </table>
  796. </div><div class="memdoc">
  797. <p>Get individual components. </p>
  798. </div>
  799. </div>
  800. <a id="aac08ebd63b9ab4fa089a5ed3224a8679" name="aac08ebd63b9ab4fa089a5ed3224a8679"></a>
  801. <h2 class="memtitle"><span class="permalink"><a href="#aac08ebd63b9ab4fa089a5ed3224a8679">&#9670;&#160;</a></span>GetY()</h2>
  802. <div class="memitem">
  803. <div class="memproto">
  804. <table class="mlabels">
  805. <tr>
  806. <td class="mlabels-left">
  807. <table class="memname">
  808. <tr>
  809. <td class="memname">JPH_INLINE float Vec3::GetY </td>
  810. <td>(</td>
  811. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  812. <td> const</td>
  813. </tr>
  814. </table>
  815. </td>
  816. <td class="mlabels-right">
  817. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  818. </tr>
  819. </table>
  820. </div><div class="memdoc">
  821. </div>
  822. </div>
  823. <a id="aeca36d050a7c2b41d3ac0438874d8c60" name="aeca36d050a7c2b41d3ac0438874d8c60"></a>
  824. <h2 class="memtitle"><span class="permalink"><a href="#aeca36d050a7c2b41d3ac0438874d8c60">&#9670;&#160;</a></span>GetZ()</h2>
  825. <div class="memitem">
  826. <div class="memproto">
  827. <table class="mlabels">
  828. <tr>
  829. <td class="mlabels-left">
  830. <table class="memname">
  831. <tr>
  832. <td class="memname">JPH_INLINE float Vec3::GetZ </td>
  833. <td>(</td>
  834. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  835. <td> const</td>
  836. </tr>
  837. </table>
  838. </td>
  839. <td class="mlabels-right">
  840. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  841. </tr>
  842. </table>
  843. </div><div class="memdoc">
  844. </div>
  845. </div>
  846. <a id="a0b134a58f09912cb5cac913313487fad" name="a0b134a58f09912cb5cac913313487fad"></a>
  847. <h2 class="memtitle"><span class="permalink"><a href="#a0b134a58f09912cb5cac913313487fad">&#9670;&#160;</a></span>IsClose()</h2>
  848. <div class="memitem">
  849. <div class="memproto">
  850. <table class="memname">
  851. <tr>
  852. <td class="memname">bool Vec3::IsClose </td>
  853. <td>(</td>
  854. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>, </td>
  855. </tr>
  856. <tr>
  857. <td class="paramkey"></td>
  858. <td></td>
  859. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxDistSq</em></span><span class="paramdefsep"> = </span><span class="paramdefval">1.0e-12f</span>&#160;) const</td>
  860. </tr>
  861. </table>
  862. </div><div class="memdoc">
  863. <p>Test if two vectors are close. </p>
  864. </div>
  865. </div>
  866. <a id="ae2ae38edbb4672657e92bf1c67bb7bea" name="ae2ae38edbb4672657e92bf1c67bb7bea"></a>
  867. <h2 class="memtitle"><span class="permalink"><a href="#ae2ae38edbb4672657e92bf1c67bb7bea">&#9670;&#160;</a></span>IsNaN()</h2>
  868. <div class="memitem">
  869. <div class="memproto">
  870. <table class="memname">
  871. <tr>
  872. <td class="memname">bool Vec3::IsNaN </td>
  873. <td>(</td>
  874. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  875. <td> const</td>
  876. </tr>
  877. </table>
  878. </div><div class="memdoc">
  879. <p>Test if vector contains NaN elements. </p>
  880. </div>
  881. </div>
  882. <a id="acee93ea875b86bc0f63edebe2b592dbc" name="acee93ea875b86bc0f63edebe2b592dbc"></a>
  883. <h2 class="memtitle"><span class="permalink"><a href="#acee93ea875b86bc0f63edebe2b592dbc">&#9670;&#160;</a></span>IsNearZero()</h2>
  884. <div class="memitem">
  885. <div class="memproto">
  886. <table class="memname">
  887. <tr>
  888. <td class="memname">bool Vec3::IsNearZero </td>
  889. <td>(</td>
  890. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxDistSq</em></span><span class="paramdefsep"> = </span><span class="paramdefval">1.0e-12f</span></td><td>)</td>
  891. <td> const</td>
  892. </tr>
  893. </table>
  894. </div><div class="memdoc">
  895. <p>Test if vector is near zero. </p>
  896. </div>
  897. </div>
  898. <a id="a2f10743d69960eaac721399e4ede190a" name="a2f10743d69960eaac721399e4ede190a"></a>
  899. <h2 class="memtitle"><span class="permalink"><a href="#a2f10743d69960eaac721399e4ede190a">&#9670;&#160;</a></span>IsNormalized()</h2>
  900. <div class="memitem">
  901. <div class="memproto">
  902. <table class="memname">
  903. <tr>
  904. <td class="memname">bool Vec3::IsNormalized </td>
  905. <td>(</td>
  906. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inTolerance</em></span><span class="paramdefsep"> = </span><span class="paramdefval">1.0e-6f</span></td><td>)</td>
  907. <td> const</td>
  908. </tr>
  909. </table>
  910. </div><div class="memdoc">
  911. <p>Test if vector is normalized. </p>
  912. </div>
  913. </div>
  914. <a id="a38a9efffc3f9413f3dd702abc73eb9a2" name="a38a9efffc3f9413f3dd702abc73eb9a2"></a>
  915. <h2 class="memtitle"><span class="permalink"><a href="#a38a9efffc3f9413f3dd702abc73eb9a2">&#9670;&#160;</a></span>Length()</h2>
  916. <div class="memitem">
  917. <div class="memproto">
  918. <table class="memname">
  919. <tr>
  920. <td class="memname">float Vec3::Length </td>
  921. <td>(</td>
  922. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  923. <td> const</td>
  924. </tr>
  925. </table>
  926. </div><div class="memdoc">
  927. <p>Length of vector. </p>
  928. </div>
  929. </div>
  930. <a id="aba501a6a474028084799f871c9083dc1" name="aba501a6a474028084799f871c9083dc1"></a>
  931. <h2 class="memtitle"><span class="permalink"><a href="#aba501a6a474028084799f871c9083dc1">&#9670;&#160;</a></span>LengthSq()</h2>
  932. <div class="memitem">
  933. <div class="memproto">
  934. <table class="memname">
  935. <tr>
  936. <td class="memname">float Vec3::LengthSq </td>
  937. <td>(</td>
  938. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  939. <td> const</td>
  940. </tr>
  941. </table>
  942. </div><div class="memdoc">
  943. <p>Squared length of vector. </p>
  944. </div>
  945. </div>
  946. <a id="a0f7559f2691ad67826f42ca19916b7a9" name="a0f7559f2691ad67826f42ca19916b7a9"></a>
  947. <h2 class="memtitle"><span class="permalink"><a href="#a0f7559f2691ad67826f42ca19916b7a9">&#9670;&#160;</a></span>Normalized()</h2>
  948. <div class="memitem">
  949. <div class="memproto">
  950. <table class="memname">
  951. <tr>
  952. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::Normalized </td>
  953. <td>(</td>
  954. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  955. <td> const</td>
  956. </tr>
  957. </table>
  958. </div><div class="memdoc">
  959. <p>Normalize vector. </p>
  960. </div>
  961. </div>
  962. <a id="a6c6409cad56e4e357f73d43cd719ffe8" name="a6c6409cad56e4e357f73d43cd719ffe8"></a>
  963. <h2 class="memtitle"><span class="permalink"><a href="#a6c6409cad56e4e357f73d43cd719ffe8">&#9670;&#160;</a></span>NormalizedOr()</h2>
  964. <div class="memitem">
  965. <div class="memproto">
  966. <table class="memname">
  967. <tr>
  968. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::NormalizedOr </td>
  969. <td>(</td>
  970. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inZeroValue</em></span></td><td>)</td>
  971. <td> const</td>
  972. </tr>
  973. </table>
  974. </div><div class="memdoc">
  975. <p>Normalize vector or return inZeroValue if the length of the vector is zero. </p>
  976. </div>
  977. </div>
  978. <a id="a43de7b2b748f26d8854afee5edb944d5" name="a43de7b2b748f26d8854afee5edb944d5"></a>
  979. <h2 class="memtitle"><span class="permalink"><a href="#a43de7b2b748f26d8854afee5edb944d5">&#9670;&#160;</a></span>operator!=()</h2>
  980. <div class="memitem">
  981. <div class="memproto">
  982. <table class="mlabels">
  983. <tr>
  984. <td class="mlabels-left">
  985. <table class="memname">
  986. <tr>
  987. <td class="memname">JPH_INLINE bool Vec3::operator!= </td>
  988. <td>(</td>
  989. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  990. <td> const</td>
  991. </tr>
  992. </table>
  993. </td>
  994. <td class="mlabels-right">
  995. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  996. </tr>
  997. </table>
  998. </div><div class="memdoc">
  999. </div>
  1000. </div>
  1001. <a id="ab8c89d26b3b090939173acf1ccd2d2e5" name="ab8c89d26b3b090939173acf1ccd2d2e5"></a>
  1002. <h2 class="memtitle"><span class="permalink"><a href="#ab8c89d26b3b090939173acf1ccd2d2e5">&#9670;&#160;</a></span>operator*() <span class="overload">[1/2]</span></h2>
  1003. <div class="memitem">
  1004. <div class="memproto">
  1005. <table class="memname">
  1006. <tr>
  1007. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator* </td>
  1008. <td>(</td>
  1009. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1010. <td> const</td>
  1011. </tr>
  1012. </table>
  1013. </div><div class="memdoc">
  1014. <p>Multiply vector with float. </p>
  1015. </div>
  1016. </div>
  1017. <a id="aad39352503c4bf9184727dde9dc11f04" name="aad39352503c4bf9184727dde9dc11f04"></a>
  1018. <h2 class="memtitle"><span class="permalink"><a href="#aad39352503c4bf9184727dde9dc11f04">&#9670;&#160;</a></span>operator*() <span class="overload">[2/2]</span></h2>
  1019. <div class="memitem">
  1020. <div class="memproto">
  1021. <table class="memname">
  1022. <tr>
  1023. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator* </td>
  1024. <td>(</td>
  1025. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1026. <td> const</td>
  1027. </tr>
  1028. </table>
  1029. </div><div class="memdoc">
  1030. <p>Multiply two float vectors (component wise) </p>
  1031. </div>
  1032. </div>
  1033. <a id="ae0bbf04d3791ef12a0b2d114e190ed8e" name="ae0bbf04d3791ef12a0b2d114e190ed8e"></a>
  1034. <h2 class="memtitle"><span class="permalink"><a href="#ae0bbf04d3791ef12a0b2d114e190ed8e">&#9670;&#160;</a></span>operator*=() <span class="overload">[1/2]</span></h2>
  1035. <div class="memitem">
  1036. <div class="memproto">
  1037. <table class="memname">
  1038. <tr>
  1039. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> &amp; Vec3::operator*= </td>
  1040. <td>(</td>
  1041. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1042. <td></td>
  1043. </tr>
  1044. </table>
  1045. </div><div class="memdoc">
  1046. <p>Multiply vector with float. </p>
  1047. </div>
  1048. </div>
  1049. <a id="a8d7e6d43ffa3bac48b87aa69c278e420" name="a8d7e6d43ffa3bac48b87aa69c278e420"></a>
  1050. <h2 class="memtitle"><span class="permalink"><a href="#a8d7e6d43ffa3bac48b87aa69c278e420">&#9670;&#160;</a></span>operator*=() <span class="overload">[2/2]</span></h2>
  1051. <div class="memitem">
  1052. <div class="memproto">
  1053. <table class="memname">
  1054. <tr>
  1055. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> &amp; Vec3::operator*= </td>
  1056. <td>(</td>
  1057. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1058. <td></td>
  1059. </tr>
  1060. </table>
  1061. </div><div class="memdoc">
  1062. <p>Multiply vector with vector. </p>
  1063. </div>
  1064. </div>
  1065. <a id="a7405124af9f071f00992b85f5c25af61" name="a7405124af9f071f00992b85f5c25af61"></a>
  1066. <h2 class="memtitle"><span class="permalink"><a href="#a7405124af9f071f00992b85f5c25af61">&#9670;&#160;</a></span>operator+()</h2>
  1067. <div class="memitem">
  1068. <div class="memproto">
  1069. <table class="memname">
  1070. <tr>
  1071. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator+ </td>
  1072. <td>(</td>
  1073. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1074. <td> const</td>
  1075. </tr>
  1076. </table>
  1077. </div><div class="memdoc">
  1078. <p>Add two float vectors (component wise) </p>
  1079. </div>
  1080. </div>
  1081. <a id="ae0dfbede4fa779658ba48bd13449c3f1" name="ae0dfbede4fa779658ba48bd13449c3f1"></a>
  1082. <h2 class="memtitle"><span class="permalink"><a href="#ae0dfbede4fa779658ba48bd13449c3f1">&#9670;&#160;</a></span>operator+=()</h2>
  1083. <div class="memitem">
  1084. <div class="memproto">
  1085. <table class="memname">
  1086. <tr>
  1087. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> &amp; Vec3::operator+= </td>
  1088. <td>(</td>
  1089. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1090. <td></td>
  1091. </tr>
  1092. </table>
  1093. </div><div class="memdoc">
  1094. <p>Add two float vectors (component wise) </p>
  1095. </div>
  1096. </div>
  1097. <a id="ab05753413af282b8cbd879c334c8e5aa" name="ab05753413af282b8cbd879c334c8e5aa"></a>
  1098. <h2 class="memtitle"><span class="permalink"><a href="#ab05753413af282b8cbd879c334c8e5aa">&#9670;&#160;</a></span>operator-() <span class="overload">[1/2]</span></h2>
  1099. <div class="memitem">
  1100. <div class="memproto">
  1101. <table class="memname">
  1102. <tr>
  1103. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator- </td>
  1104. <td>(</td>
  1105. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1106. <td> const</td>
  1107. </tr>
  1108. </table>
  1109. </div><div class="memdoc">
  1110. <p>Negate. </p>
  1111. </div>
  1112. </div>
  1113. <a id="a4f5d105c3b92a557557906ebd6003647" name="a4f5d105c3b92a557557906ebd6003647"></a>
  1114. <h2 class="memtitle"><span class="permalink"><a href="#a4f5d105c3b92a557557906ebd6003647">&#9670;&#160;</a></span>operator-() <span class="overload">[2/2]</span></h2>
  1115. <div class="memitem">
  1116. <div class="memproto">
  1117. <table class="memname">
  1118. <tr>
  1119. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator- </td>
  1120. <td>(</td>
  1121. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1122. <td> const</td>
  1123. </tr>
  1124. </table>
  1125. </div><div class="memdoc">
  1126. <p>Subtract two float vectors (component wise) </p>
  1127. </div>
  1128. </div>
  1129. <a id="a3c73495e25d5c416f1108ad89fb614d6" name="a3c73495e25d5c416f1108ad89fb614d6"></a>
  1130. <h2 class="memtitle"><span class="permalink"><a href="#a3c73495e25d5c416f1108ad89fb614d6">&#9670;&#160;</a></span>operator-=()</h2>
  1131. <div class="memitem">
  1132. <div class="memproto">
  1133. <table class="memname">
  1134. <tr>
  1135. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> &amp; Vec3::operator-= </td>
  1136. <td>(</td>
  1137. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1138. <td></td>
  1139. </tr>
  1140. </table>
  1141. </div><div class="memdoc">
  1142. <p>Subtract two float vectors (component wise) </p>
  1143. </div>
  1144. </div>
  1145. <a id="a4c3d1ff36432563aef787f8ce7172bff" name="a4c3d1ff36432563aef787f8ce7172bff"></a>
  1146. <h2 class="memtitle"><span class="permalink"><a href="#a4c3d1ff36432563aef787f8ce7172bff">&#9670;&#160;</a></span>operator/() <span class="overload">[1/2]</span></h2>
  1147. <div class="memitem">
  1148. <div class="memproto">
  1149. <table class="memname">
  1150. <tr>
  1151. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator/ </td>
  1152. <td>(</td>
  1153. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1154. <td> const</td>
  1155. </tr>
  1156. </table>
  1157. </div><div class="memdoc">
  1158. <p>Divide vector by float. </p>
  1159. </div>
  1160. </div>
  1161. <a id="a8dd428d3cc8fff37c91a4c01de2f5078" name="a8dd428d3cc8fff37c91a4c01de2f5078"></a>
  1162. <h2 class="memtitle"><span class="permalink"><a href="#a8dd428d3cc8fff37c91a4c01de2f5078">&#9670;&#160;</a></span>operator/() <span class="overload">[2/2]</span></h2>
  1163. <div class="memitem">
  1164. <div class="memproto">
  1165. <table class="memname">
  1166. <tr>
  1167. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::operator/ </td>
  1168. <td>(</td>
  1169. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1170. <td> const</td>
  1171. </tr>
  1172. </table>
  1173. </div><div class="memdoc">
  1174. <p>Divide (component wise) </p>
  1175. </div>
  1176. </div>
  1177. <a id="a50f5b360029a35374a1b811107e22a81" name="a50f5b360029a35374a1b811107e22a81"></a>
  1178. <h2 class="memtitle"><span class="permalink"><a href="#a50f5b360029a35374a1b811107e22a81">&#9670;&#160;</a></span>operator/=()</h2>
  1179. <div class="memitem">
  1180. <div class="memproto">
  1181. <table class="memname">
  1182. <tr>
  1183. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> &amp; Vec3::operator/= </td>
  1184. <td>(</td>
  1185. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1186. <td></td>
  1187. </tr>
  1188. </table>
  1189. </div><div class="memdoc">
  1190. <p>Divide vector by float. </p>
  1191. </div>
  1192. </div>
  1193. <a id="ad08ae539c06ae81a334c530bcb024b35" name="ad08ae539c06ae81a334c530bcb024b35"></a>
  1194. <h2 class="memtitle"><span class="permalink"><a href="#ad08ae539c06ae81a334c530bcb024b35">&#9670;&#160;</a></span>operator=()</h2>
  1195. <div class="memitem">
  1196. <div class="memproto">
  1197. <table class="mlabels">
  1198. <tr>
  1199. <td class="mlabels-left">
  1200. <table class="memname">
  1201. <tr>
  1202. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> &amp; Vec3::operator= </td>
  1203. <td>(</td>
  1204. <td class="paramtype">const <a class="el" href="class_vec3.html">Vec3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inRHS</em></span></td><td>)</td>
  1205. <td></td>
  1206. </tr>
  1207. </table>
  1208. </td>
  1209. <td class="mlabels-right">
  1210. <span class="mlabels"><span class="mlabel">default</span></span> </td>
  1211. </tr>
  1212. </table>
  1213. </div><div class="memdoc">
  1214. </div>
  1215. </div>
  1216. <a id="a154b889fe51e3cc420716ad087b524ec" name="a154b889fe51e3cc420716ad087b524ec"></a>
  1217. <h2 class="memtitle"><span class="permalink"><a href="#a154b889fe51e3cc420716ad087b524ec">&#9670;&#160;</a></span>operator==()</h2>
  1218. <div class="memitem">
  1219. <div class="memproto">
  1220. <table class="memname">
  1221. <tr>
  1222. <td class="memname">bool Vec3::operator== </td>
  1223. <td>(</td>
  1224. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span></td><td>)</td>
  1225. <td> const</td>
  1226. </tr>
  1227. </table>
  1228. </div><div class="memdoc">
  1229. <p>Comparison. </p>
  1230. </div>
  1231. </div>
  1232. <a id="abaa362706e12d5e3fa8d950ba80d173e" name="abaa362706e12d5e3fa8d950ba80d173e"></a>
  1233. <h2 class="memtitle"><span class="permalink"><a href="#abaa362706e12d5e3fa8d950ba80d173e">&#9670;&#160;</a></span>operator[]()</h2>
  1234. <div class="memitem">
  1235. <div class="memproto">
  1236. <table class="mlabels">
  1237. <tr>
  1238. <td class="mlabels-left">
  1239. <table class="memname">
  1240. <tr>
  1241. <td class="memname">JPH_INLINE float Vec3::operator[] </td>
  1242. <td>(</td>
  1243. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inCoordinate</em></span></td><td>)</td>
  1244. <td> const</td>
  1245. </tr>
  1246. </table>
  1247. </td>
  1248. <td class="mlabels-right">
  1249. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1250. </tr>
  1251. </table>
  1252. </div><div class="memdoc">
  1253. <p>Get float component by index. </p>
  1254. </div>
  1255. </div>
  1256. <a id="a6bdb4929eab084e74d1e0ea3ae29d8ad" name="a6bdb4929eab084e74d1e0ea3ae29d8ad"></a>
  1257. <h2 class="memtitle"><span class="permalink"><a href="#a6bdb4929eab084e74d1e0ea3ae29d8ad">&#9670;&#160;</a></span>Reciprocal()</h2>
  1258. <div class="memitem">
  1259. <div class="memproto">
  1260. <table class="memname">
  1261. <tr>
  1262. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::Reciprocal </td>
  1263. <td>(</td>
  1264. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1265. <td> const</td>
  1266. </tr>
  1267. </table>
  1268. </div><div class="memdoc">
  1269. <p>Reciprocal vector (1 / value) for each of the components. </p>
  1270. </div>
  1271. </div>
  1272. <a id="a3d4dc6f6807ead86b5150e7904ac80f5" name="a3d4dc6f6807ead86b5150e7904ac80f5"></a>
  1273. <h2 class="memtitle"><span class="permalink"><a href="#a3d4dc6f6807ead86b5150e7904ac80f5">&#9670;&#160;</a></span>ReduceMax()</h2>
  1274. <div class="memitem">
  1275. <div class="memproto">
  1276. <table class="memname">
  1277. <tr>
  1278. <td class="memname">float Vec3::ReduceMax </td>
  1279. <td>(</td>
  1280. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1281. <td> const</td>
  1282. </tr>
  1283. </table>
  1284. </div><div class="memdoc">
  1285. <p>Get the maximum of X, Y and Z. </p>
  1286. </div>
  1287. </div>
  1288. <a id="a3b5c2f1c893d46d390428ef8c487cc7d" name="a3b5c2f1c893d46d390428ef8c487cc7d"></a>
  1289. <h2 class="memtitle"><span class="permalink"><a href="#a3b5c2f1c893d46d390428ef8c487cc7d">&#9670;&#160;</a></span>ReduceMin()</h2>
  1290. <div class="memitem">
  1291. <div class="memproto">
  1292. <table class="memname">
  1293. <tr>
  1294. <td class="memname">float Vec3::ReduceMin </td>
  1295. <td>(</td>
  1296. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1297. <td> const</td>
  1298. </tr>
  1299. </table>
  1300. </div><div class="memdoc">
  1301. <p>Get the minimum of X, Y and Z. </p>
  1302. </div>
  1303. </div>
  1304. <a id="ae8373cd45fbf550d26729f98a68b3e4a" name="ae8373cd45fbf550d26729f98a68b3e4a"></a>
  1305. <h2 class="memtitle"><span class="permalink"><a href="#ae8373cd45fbf550d26729f98a68b3e4a">&#9670;&#160;</a></span>ReinterpretAsInt()</h2>
  1306. <div class="memitem">
  1307. <div class="memproto">
  1308. <table class="memname">
  1309. <tr>
  1310. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::ReinterpretAsInt </td>
  1311. <td>(</td>
  1312. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1313. <td> const</td>
  1314. </tr>
  1315. </table>
  1316. </div><div class="memdoc">
  1317. <p>Reinterpret <a class="el" href="class_vec3.html">Vec3</a> as a <a class="el" href="class_u_vec4.html">UVec4</a> (doesn't change the bits) </p>
  1318. </div>
  1319. </div>
  1320. <a id="a96e892074ac7e8638cb70ede768f08a8" name="a96e892074ac7e8638cb70ede768f08a8"></a>
  1321. <h2 class="memtitle"><span class="permalink"><a href="#a96e892074ac7e8638cb70ede768f08a8">&#9670;&#160;</a></span>sAnd()</h2>
  1322. <div class="memitem">
  1323. <div class="memproto">
  1324. <table class="mlabels">
  1325. <tr>
  1326. <td class="mlabels-left">
  1327. <table class="memname">
  1328. <tr>
  1329. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sAnd </td>
  1330. <td>(</td>
  1331. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1332. </tr>
  1333. <tr>
  1334. <td class="paramkey"></td>
  1335. <td></td>
  1336. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1337. </tr>
  1338. </table>
  1339. </td>
  1340. <td class="mlabels-right">
  1341. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1342. </tr>
  1343. </table>
  1344. </div><div class="memdoc">
  1345. <p>Logical and (component wise) </p>
  1346. </div>
  1347. </div>
  1348. <a id="a142cc5c79f08229eb11532c26f1a1e90" name="a142cc5c79f08229eb11532c26f1a1e90"></a>
  1349. <h2 class="memtitle"><span class="permalink"><a href="#a142cc5c79f08229eb11532c26f1a1e90">&#9670;&#160;</a></span>sAxisX()</h2>
  1350. <div class="memitem">
  1351. <div class="memproto">
  1352. <table class="mlabels">
  1353. <tr>
  1354. <td class="mlabels-left">
  1355. <table class="memname">
  1356. <tr>
  1357. <td class="memname">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> Vec3::sAxisX </td>
  1358. <td>(</td>
  1359. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1360. <td></td>
  1361. </tr>
  1362. </table>
  1363. </td>
  1364. <td class="mlabels-right">
  1365. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1366. </tr>
  1367. </table>
  1368. </div><div class="memdoc">
  1369. <p>Vectors with the principal axis. </p>
  1370. </div>
  1371. </div>
  1372. <a id="a2819718744feddb0bc150c6ccc26fad1" name="a2819718744feddb0bc150c6ccc26fad1"></a>
  1373. <h2 class="memtitle"><span class="permalink"><a href="#a2819718744feddb0bc150c6ccc26fad1">&#9670;&#160;</a></span>sAxisY()</h2>
  1374. <div class="memitem">
  1375. <div class="memproto">
  1376. <table class="mlabels">
  1377. <tr>
  1378. <td class="mlabels-left">
  1379. <table class="memname">
  1380. <tr>
  1381. <td class="memname">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> Vec3::sAxisY </td>
  1382. <td>(</td>
  1383. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1384. <td></td>
  1385. </tr>
  1386. </table>
  1387. </td>
  1388. <td class="mlabels-right">
  1389. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1390. </tr>
  1391. </table>
  1392. </div><div class="memdoc">
  1393. </div>
  1394. </div>
  1395. <a id="aa16ac2747950d2e64537f8454872d174" name="aa16ac2747950d2e64537f8454872d174"></a>
  1396. <h2 class="memtitle"><span class="permalink"><a href="#aa16ac2747950d2e64537f8454872d174">&#9670;&#160;</a></span>sAxisZ()</h2>
  1397. <div class="memitem">
  1398. <div class="memproto">
  1399. <table class="mlabels">
  1400. <tr>
  1401. <td class="mlabels-left">
  1402. <table class="memname">
  1403. <tr>
  1404. <td class="memname">static JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> Vec3::sAxisZ </td>
  1405. <td>(</td>
  1406. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1407. <td></td>
  1408. </tr>
  1409. </table>
  1410. </td>
  1411. <td class="mlabels-right">
  1412. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1413. </tr>
  1414. </table>
  1415. </div><div class="memdoc">
  1416. </div>
  1417. </div>
  1418. <a id="ad9e900bfd5887a8d2e4f8ed70d69ac4e" name="ad9e900bfd5887a8d2e4f8ed70d69ac4e"></a>
  1419. <h2 class="memtitle"><span class="permalink"><a href="#ad9e900bfd5887a8d2e4f8ed70d69ac4e">&#9670;&#160;</a></span>sClamp()</h2>
  1420. <div class="memitem">
  1421. <div class="memproto">
  1422. <table class="mlabels">
  1423. <tr>
  1424. <td class="mlabels-left">
  1425. <table class="memname">
  1426. <tr>
  1427. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sClamp </td>
  1428. <td>(</td>
  1429. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV</em></span>, </td>
  1430. </tr>
  1431. <tr>
  1432. <td class="paramkey"></td>
  1433. <td></td>
  1434. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inMin</em></span>, </td>
  1435. </tr>
  1436. <tr>
  1437. <td class="paramkey"></td>
  1438. <td></td>
  1439. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inMax</em></span>&#160;)</td>
  1440. </tr>
  1441. </table>
  1442. </td>
  1443. <td class="mlabels-right">
  1444. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1445. </tr>
  1446. </table>
  1447. </div><div class="memdoc">
  1448. <p>Clamp a vector between min and max (component wise) </p>
  1449. </div>
  1450. </div>
  1451. <a id="a3437de0e9f02cfc656dd4381934ba6fe" name="a3437de0e9f02cfc656dd4381934ba6fe"></a>
  1452. <h2 class="memtitle"><span class="permalink"><a href="#a3437de0e9f02cfc656dd4381934ba6fe">&#9670;&#160;</a></span>sDecompressUnitVector()</h2>
  1453. <div class="memitem">
  1454. <div class="memproto">
  1455. <table class="mlabels">
  1456. <tr>
  1457. <td class="mlabels-left">
  1458. <table class="memname">
  1459. <tr>
  1460. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sDecompressUnitVector </td>
  1461. <td>(</td>
  1462. <td class="paramtype"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a></td> <td class="paramname"><span class="paramname"><em>inValue</em></span></td><td>)</td>
  1463. <td></td>
  1464. </tr>
  1465. </table>
  1466. </td>
  1467. <td class="mlabels-right">
  1468. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1469. </tr>
  1470. </table>
  1471. </div><div class="memdoc">
  1472. <p>Decompress a unit vector from a 32 bit value. </p>
  1473. </div>
  1474. </div>
  1475. <a id="acd0e4130c1b2863b203812f4922b3642" name="acd0e4130c1b2863b203812f4922b3642"></a>
  1476. <h2 class="memtitle"><span class="permalink"><a href="#acd0e4130c1b2863b203812f4922b3642">&#9670;&#160;</a></span>sEquals()</h2>
  1477. <div class="memitem">
  1478. <div class="memproto">
  1479. <table class="mlabels">
  1480. <tr>
  1481. <td class="mlabels-left">
  1482. <table class="memname">
  1483. <tr>
  1484. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::sEquals </td>
  1485. <td>(</td>
  1486. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1487. </tr>
  1488. <tr>
  1489. <td class="paramkey"></td>
  1490. <td></td>
  1491. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1492. </tr>
  1493. </table>
  1494. </td>
  1495. <td class="mlabels-right">
  1496. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1497. </tr>
  1498. </table>
  1499. </div><div class="memdoc">
  1500. <p>Equals (component wise) </p>
  1501. </div>
  1502. </div>
  1503. <a id="ad124c5400eba8ee0b0cf429553c4ed2c" name="ad124c5400eba8ee0b0cf429553c4ed2c"></a>
  1504. <h2 class="memtitle"><span class="permalink"><a href="#ad124c5400eba8ee0b0cf429553c4ed2c">&#9670;&#160;</a></span>Set()</h2>
  1505. <div class="memitem">
  1506. <div class="memproto">
  1507. <table class="mlabels">
  1508. <tr>
  1509. <td class="mlabels-left">
  1510. <table class="memname">
  1511. <tr>
  1512. <td class="memname">JPH_INLINE void Vec3::Set </td>
  1513. <td>(</td>
  1514. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inX</em></span>, </td>
  1515. </tr>
  1516. <tr>
  1517. <td class="paramkey"></td>
  1518. <td></td>
  1519. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inY</em></span>, </td>
  1520. </tr>
  1521. <tr>
  1522. <td class="paramkey"></td>
  1523. <td></td>
  1524. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inZ</em></span>&#160;)</td>
  1525. </tr>
  1526. </table>
  1527. </td>
  1528. <td class="mlabels-right">
  1529. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1530. </tr>
  1531. </table>
  1532. </div><div class="memdoc">
  1533. <p>Set all components. </p>
  1534. </div>
  1535. </div>
  1536. <a id="a1ef1f1ce4031e9ecd4545799525281d8" name="a1ef1f1ce4031e9ecd4545799525281d8"></a>
  1537. <h2 class="memtitle"><span class="permalink"><a href="#a1ef1f1ce4031e9ecd4545799525281d8">&#9670;&#160;</a></span>SetComponent()</h2>
  1538. <div class="memitem">
  1539. <div class="memproto">
  1540. <table class="mlabels">
  1541. <tr>
  1542. <td class="mlabels-left">
  1543. <table class="memname">
  1544. <tr>
  1545. <td class="memname">JPH_INLINE void Vec3::SetComponent </td>
  1546. <td>(</td>
  1547. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inCoordinate</em></span>, </td>
  1548. </tr>
  1549. <tr>
  1550. <td class="paramkey"></td>
  1551. <td></td>
  1552. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inValue</em></span>&#160;)</td>
  1553. </tr>
  1554. </table>
  1555. </td>
  1556. <td class="mlabels-right">
  1557. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1558. </tr>
  1559. </table>
  1560. </div><div class="memdoc">
  1561. <p>Set float component by index. </p>
  1562. </div>
  1563. </div>
  1564. <a id="aa56cdd546b6bb8a63a7677b4915398f0" name="aa56cdd546b6bb8a63a7677b4915398f0"></a>
  1565. <h2 class="memtitle"><span class="permalink"><a href="#aa56cdd546b6bb8a63a7677b4915398f0">&#9670;&#160;</a></span>SetX()</h2>
  1566. <div class="memitem">
  1567. <div class="memproto">
  1568. <table class="mlabels">
  1569. <tr>
  1570. <td class="mlabels-left">
  1571. <table class="memname">
  1572. <tr>
  1573. <td class="memname">JPH_INLINE void Vec3::SetX </td>
  1574. <td>(</td>
  1575. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inX</em></span></td><td>)</td>
  1576. <td></td>
  1577. </tr>
  1578. </table>
  1579. </td>
  1580. <td class="mlabels-right">
  1581. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1582. </tr>
  1583. </table>
  1584. </div><div class="memdoc">
  1585. <p>Set individual components. </p>
  1586. </div>
  1587. </div>
  1588. <a id="a546dea138085c70aab8ce65328c96636" name="a546dea138085c70aab8ce65328c96636"></a>
  1589. <h2 class="memtitle"><span class="permalink"><a href="#a546dea138085c70aab8ce65328c96636">&#9670;&#160;</a></span>SetY()</h2>
  1590. <div class="memitem">
  1591. <div class="memproto">
  1592. <table class="mlabels">
  1593. <tr>
  1594. <td class="mlabels-left">
  1595. <table class="memname">
  1596. <tr>
  1597. <td class="memname">JPH_INLINE void Vec3::SetY </td>
  1598. <td>(</td>
  1599. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inY</em></span></td><td>)</td>
  1600. <td></td>
  1601. </tr>
  1602. </table>
  1603. </td>
  1604. <td class="mlabels-right">
  1605. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1606. </tr>
  1607. </table>
  1608. </div><div class="memdoc">
  1609. </div>
  1610. </div>
  1611. <a id="a91b9fad968034550f4681c14273c77d8" name="a91b9fad968034550f4681c14273c77d8"></a>
  1612. <h2 class="memtitle"><span class="permalink"><a href="#a91b9fad968034550f4681c14273c77d8">&#9670;&#160;</a></span>SetZ()</h2>
  1613. <div class="memitem">
  1614. <div class="memproto">
  1615. <table class="mlabels">
  1616. <tr>
  1617. <td class="mlabels-left">
  1618. <table class="memname">
  1619. <tr>
  1620. <td class="memname">JPH_INLINE void Vec3::SetZ </td>
  1621. <td>(</td>
  1622. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inZ</em></span></td><td>)</td>
  1623. <td></td>
  1624. </tr>
  1625. </table>
  1626. </td>
  1627. <td class="mlabels-right">
  1628. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1629. </tr>
  1630. </table>
  1631. </div><div class="memdoc">
  1632. </div>
  1633. </div>
  1634. <a id="a0fd5f4e55649a94f140bd9d6fe38be3c" name="a0fd5f4e55649a94f140bd9d6fe38be3c"></a>
  1635. <h2 class="memtitle"><span class="permalink"><a href="#a0fd5f4e55649a94f140bd9d6fe38be3c">&#9670;&#160;</a></span>sFixW()</h2>
  1636. <div class="memitem">
  1637. <div class="memproto">
  1638. <table class="mlabels">
  1639. <tr>
  1640. <td class="mlabels-left">
  1641. <table class="memname">
  1642. <tr>
  1643. <td class="memname">static JPH_INLINE <a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a> Vec3::sFixW </td>
  1644. <td>(</td>
  1645. <td class="paramtype"><a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a></td> <td class="paramname"><span class="paramname"><em>inValue</em></span></td><td>)</td>
  1646. <td></td>
  1647. </tr>
  1648. </table>
  1649. </td>
  1650. <td class="mlabels-right">
  1651. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1652. </tr>
  1653. </table>
  1654. </div><div class="memdoc">
  1655. <p>Internal helper function that ensures that the Z component is replicated to the W component to prevent divisions by zero. </p>
  1656. </div>
  1657. </div>
  1658. <a id="af1046795a7c8524bcef538c32ff0089b" name="af1046795a7c8524bcef538c32ff0089b"></a>
  1659. <h2 class="memtitle"><span class="permalink"><a href="#af1046795a7c8524bcef538c32ff0089b">&#9670;&#160;</a></span>sFusedMultiplyAdd()</h2>
  1660. <div class="memitem">
  1661. <div class="memproto">
  1662. <table class="mlabels">
  1663. <tr>
  1664. <td class="mlabels-left">
  1665. <table class="memname">
  1666. <tr>
  1667. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sFusedMultiplyAdd </td>
  1668. <td>(</td>
  1669. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inMul1</em></span>, </td>
  1670. </tr>
  1671. <tr>
  1672. <td class="paramkey"></td>
  1673. <td></td>
  1674. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inMul2</em></span>, </td>
  1675. </tr>
  1676. <tr>
  1677. <td class="paramkey"></td>
  1678. <td></td>
  1679. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inAdd</em></span>&#160;)</td>
  1680. </tr>
  1681. </table>
  1682. </td>
  1683. <td class="mlabels-right">
  1684. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1685. </tr>
  1686. </table>
  1687. </div><div class="memdoc">
  1688. <p>Calculates inMul1 * inMul2 + inAdd. </p>
  1689. </div>
  1690. </div>
  1691. <a id="a8eae791f0661b2c625a42034f6480bd1" name="a8eae791f0661b2c625a42034f6480bd1"></a>
  1692. <h2 class="memtitle"><span class="permalink"><a href="#a8eae791f0661b2c625a42034f6480bd1">&#9670;&#160;</a></span>sGreater()</h2>
  1693. <div class="memitem">
  1694. <div class="memproto">
  1695. <table class="mlabels">
  1696. <tr>
  1697. <td class="mlabels-left">
  1698. <table class="memname">
  1699. <tr>
  1700. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::sGreater </td>
  1701. <td>(</td>
  1702. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1703. </tr>
  1704. <tr>
  1705. <td class="paramkey"></td>
  1706. <td></td>
  1707. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1708. </tr>
  1709. </table>
  1710. </td>
  1711. <td class="mlabels-right">
  1712. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1713. </tr>
  1714. </table>
  1715. </div><div class="memdoc">
  1716. <p>Greater than (component wise) </p>
  1717. </div>
  1718. </div>
  1719. <a id="a3a5e5fc2d3bf17a05723d4e411e4202d" name="a3a5e5fc2d3bf17a05723d4e411e4202d"></a>
  1720. <h2 class="memtitle"><span class="permalink"><a href="#a3a5e5fc2d3bf17a05723d4e411e4202d">&#9670;&#160;</a></span>sGreaterOrEqual()</h2>
  1721. <div class="memitem">
  1722. <div class="memproto">
  1723. <table class="mlabels">
  1724. <tr>
  1725. <td class="mlabels-left">
  1726. <table class="memname">
  1727. <tr>
  1728. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::sGreaterOrEqual </td>
  1729. <td>(</td>
  1730. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1731. </tr>
  1732. <tr>
  1733. <td class="paramkey"></td>
  1734. <td></td>
  1735. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1736. </tr>
  1737. </table>
  1738. </td>
  1739. <td class="mlabels-right">
  1740. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1741. </tr>
  1742. </table>
  1743. </div><div class="memdoc">
  1744. <p>Greater than or equal (component wise) </p>
  1745. </div>
  1746. </div>
  1747. <a id="ad376453f8dddd6653c2ead9c02951c48" name="ad376453f8dddd6653c2ead9c02951c48"></a>
  1748. <h2 class="memtitle"><span class="permalink"><a href="#ad376453f8dddd6653c2ead9c02951c48">&#9670;&#160;</a></span>sLess()</h2>
  1749. <div class="memitem">
  1750. <div class="memproto">
  1751. <table class="mlabels">
  1752. <tr>
  1753. <td class="mlabels-left">
  1754. <table class="memname">
  1755. <tr>
  1756. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::sLess </td>
  1757. <td>(</td>
  1758. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1759. </tr>
  1760. <tr>
  1761. <td class="paramkey"></td>
  1762. <td></td>
  1763. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1764. </tr>
  1765. </table>
  1766. </td>
  1767. <td class="mlabels-right">
  1768. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1769. </tr>
  1770. </table>
  1771. </div><div class="memdoc">
  1772. <p>Less than (component wise) </p>
  1773. </div>
  1774. </div>
  1775. <a id="a483dc7054df9a3f8c48303a31be6c1e0" name="a483dc7054df9a3f8c48303a31be6c1e0"></a>
  1776. <h2 class="memtitle"><span class="permalink"><a href="#a483dc7054df9a3f8c48303a31be6c1e0">&#9670;&#160;</a></span>sLessOrEqual()</h2>
  1777. <div class="memitem">
  1778. <div class="memproto">
  1779. <table class="mlabels">
  1780. <tr>
  1781. <td class="mlabels-left">
  1782. <table class="memname">
  1783. <tr>
  1784. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::sLessOrEqual </td>
  1785. <td>(</td>
  1786. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1787. </tr>
  1788. <tr>
  1789. <td class="paramkey"></td>
  1790. <td></td>
  1791. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1792. </tr>
  1793. </table>
  1794. </td>
  1795. <td class="mlabels-right">
  1796. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1797. </tr>
  1798. </table>
  1799. </div><div class="memdoc">
  1800. <p>Less than or equal (component wise) </p>
  1801. </div>
  1802. </div>
  1803. <a id="aea30fe731618ffa249ecdcba2c66ab4e" name="aea30fe731618ffa249ecdcba2c66ab4e"></a>
  1804. <h2 class="memtitle"><span class="permalink"><a href="#aea30fe731618ffa249ecdcba2c66ab4e">&#9670;&#160;</a></span>sLoadFloat3Unsafe()</h2>
  1805. <div class="memitem">
  1806. <div class="memproto">
  1807. <table class="mlabels">
  1808. <tr>
  1809. <td class="mlabels-left">
  1810. <table class="memname">
  1811. <tr>
  1812. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sLoadFloat3Unsafe </td>
  1813. <td>(</td>
  1814. <td class="paramtype">const <a class="el" href="class_float3.html">Float3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inV</em></span></td><td>)</td>
  1815. <td></td>
  1816. </tr>
  1817. </table>
  1818. </td>
  1819. <td class="mlabels-right">
  1820. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1821. </tr>
  1822. </table>
  1823. </div><div class="memdoc">
  1824. <p>Load 3 floats from memory (reads 32 bits extra which it doesn't use) </p>
  1825. </div>
  1826. </div>
  1827. <a id="a0d01523ff685cea4e0c5173fac13fc61" name="a0d01523ff685cea4e0c5173fac13fc61"></a>
  1828. <h2 class="memtitle"><span class="permalink"><a href="#a0d01523ff685cea4e0c5173fac13fc61">&#9670;&#160;</a></span>sMax()</h2>
  1829. <div class="memitem">
  1830. <div class="memproto">
  1831. <table class="mlabels">
  1832. <tr>
  1833. <td class="mlabels-left">
  1834. <table class="memname">
  1835. <tr>
  1836. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sMax </td>
  1837. <td>(</td>
  1838. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1839. </tr>
  1840. <tr>
  1841. <td class="paramkey"></td>
  1842. <td></td>
  1843. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1844. </tr>
  1845. </table>
  1846. </td>
  1847. <td class="mlabels-right">
  1848. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1849. </tr>
  1850. </table>
  1851. </div><div class="memdoc">
  1852. <p>Return the maximum of each of the components. </p>
  1853. </div>
  1854. </div>
  1855. <a id="a20b4cc5ec27717e3ee651536e2a41a29" name="a20b4cc5ec27717e3ee651536e2a41a29"></a>
  1856. <h2 class="memtitle"><span class="permalink"><a href="#a20b4cc5ec27717e3ee651536e2a41a29">&#9670;&#160;</a></span>sMin()</h2>
  1857. <div class="memitem">
  1858. <div class="memproto">
  1859. <table class="mlabels">
  1860. <tr>
  1861. <td class="mlabels-left">
  1862. <table class="memname">
  1863. <tr>
  1864. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sMin </td>
  1865. <td>(</td>
  1866. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1867. </tr>
  1868. <tr>
  1869. <td class="paramkey"></td>
  1870. <td></td>
  1871. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1872. </tr>
  1873. </table>
  1874. </td>
  1875. <td class="mlabels-right">
  1876. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1877. </tr>
  1878. </table>
  1879. </div><div class="memdoc">
  1880. <p>Return the minimum value of each of the components. </p>
  1881. </div>
  1882. </div>
  1883. <a id="aee68177ac267822e1823a9a0f7525014" name="aee68177ac267822e1823a9a0f7525014"></a>
  1884. <h2 class="memtitle"><span class="permalink"><a href="#aee68177ac267822e1823a9a0f7525014">&#9670;&#160;</a></span>sNaN()</h2>
  1885. <div class="memitem">
  1886. <div class="memproto">
  1887. <table class="mlabels">
  1888. <tr>
  1889. <td class="mlabels-left">
  1890. <table class="memname">
  1891. <tr>
  1892. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sNaN </td>
  1893. <td>(</td>
  1894. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1895. <td></td>
  1896. </tr>
  1897. </table>
  1898. </td>
  1899. <td class="mlabels-right">
  1900. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1901. </tr>
  1902. </table>
  1903. </div><div class="memdoc">
  1904. <p><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> with all NaN's. </p>
  1905. </div>
  1906. </div>
  1907. <a id="a6bc0731860c69d4e3151981d2dc24e93" name="a6bc0731860c69d4e3151981d2dc24e93"></a>
  1908. <h2 class="memtitle"><span class="permalink"><a href="#a6bc0731860c69d4e3151981d2dc24e93">&#9670;&#160;</a></span>sOne()</h2>
  1909. <div class="memitem">
  1910. <div class="memproto">
  1911. <table class="mlabels">
  1912. <tr>
  1913. <td class="mlabels-left">
  1914. <table class="memname">
  1915. <tr>
  1916. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sOne </td>
  1917. <td>(</td>
  1918. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1919. <td></td>
  1920. </tr>
  1921. </table>
  1922. </td>
  1923. <td class="mlabels-right">
  1924. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1925. </tr>
  1926. </table>
  1927. </div><div class="memdoc">
  1928. <p><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> with all ones. </p>
  1929. </div>
  1930. </div>
  1931. <a id="a86d172de30a6cbd55d82a2b54272533e" name="a86d172de30a6cbd55d82a2b54272533e"></a>
  1932. <h2 class="memtitle"><span class="permalink"><a href="#a86d172de30a6cbd55d82a2b54272533e">&#9670;&#160;</a></span>sOr()</h2>
  1933. <div class="memitem">
  1934. <div class="memproto">
  1935. <table class="mlabels">
  1936. <tr>
  1937. <td class="mlabels-left">
  1938. <table class="memname">
  1939. <tr>
  1940. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sOr </td>
  1941. <td>(</td>
  1942. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  1943. </tr>
  1944. <tr>
  1945. <td class="paramkey"></td>
  1946. <td></td>
  1947. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  1948. </tr>
  1949. </table>
  1950. </td>
  1951. <td class="mlabels-right">
  1952. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  1953. </tr>
  1954. </table>
  1955. </div><div class="memdoc">
  1956. <p>Logical or (component wise) </p>
  1957. </div>
  1958. </div>
  1959. <a id="a1b03f087ce2755a85ccba4ba56f1e64b" name="a1b03f087ce2755a85ccba4ba56f1e64b"></a>
  1960. <h2 class="memtitle"><span class="permalink"><a href="#a1b03f087ce2755a85ccba4ba56f1e64b">&#9670;&#160;</a></span>SplatX()</h2>
  1961. <div class="memitem">
  1962. <div class="memproto">
  1963. <table class="memname">
  1964. <tr>
  1965. <td class="memname"><a class="el" href="class_vec4.html">Vec4</a> Vec3::SplatX </td>
  1966. <td>(</td>
  1967. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1968. <td> const</td>
  1969. </tr>
  1970. </table>
  1971. </div><div class="memdoc">
  1972. <p>Replicate the X component to all components. </p>
  1973. </div>
  1974. </div>
  1975. <a id="aad5b4211a6d98be56362559eefd9b029" name="aad5b4211a6d98be56362559eefd9b029"></a>
  1976. <h2 class="memtitle"><span class="permalink"><a href="#aad5b4211a6d98be56362559eefd9b029">&#9670;&#160;</a></span>SplatY()</h2>
  1977. <div class="memitem">
  1978. <div class="memproto">
  1979. <table class="memname">
  1980. <tr>
  1981. <td class="memname"><a class="el" href="class_vec4.html">Vec4</a> Vec3::SplatY </td>
  1982. <td>(</td>
  1983. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1984. <td> const</td>
  1985. </tr>
  1986. </table>
  1987. </div><div class="memdoc">
  1988. <p>Replicate the Y component to all components. </p>
  1989. </div>
  1990. </div>
  1991. <a id="a81f4448e17219aafda0e3b886709d1f4" name="a81f4448e17219aafda0e3b886709d1f4"></a>
  1992. <h2 class="memtitle"><span class="permalink"><a href="#a81f4448e17219aafda0e3b886709d1f4">&#9670;&#160;</a></span>SplatZ()</h2>
  1993. <div class="memitem">
  1994. <div class="memproto">
  1995. <table class="memname">
  1996. <tr>
  1997. <td class="memname"><a class="el" href="class_vec4.html">Vec4</a> Vec3::SplatZ </td>
  1998. <td>(</td>
  1999. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  2000. <td> const</td>
  2001. </tr>
  2002. </table>
  2003. </div><div class="memdoc">
  2004. <p>Replicate the Z component to all components. </p>
  2005. </div>
  2006. </div>
  2007. <a id="ae3693c78a72d92e9ab821025f8ed28cf" name="ae3693c78a72d92e9ab821025f8ed28cf"></a>
  2008. <h2 class="memtitle"><span class="permalink"><a href="#ae3693c78a72d92e9ab821025f8ed28cf">&#9670;&#160;</a></span>Sqrt()</h2>
  2009. <div class="memitem">
  2010. <div class="memproto">
  2011. <table class="memname">
  2012. <tr>
  2013. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::Sqrt </td>
  2014. <td>(</td>
  2015. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  2016. <td> const</td>
  2017. </tr>
  2018. </table>
  2019. </div><div class="memdoc">
  2020. <p>Component wise square root. </p>
  2021. </div>
  2022. </div>
  2023. <a id="a2786cc1d2f3b3891dc2d41077a2ee12f" name="a2786cc1d2f3b3891dc2d41077a2ee12f"></a>
  2024. <h2 class="memtitle"><span class="permalink"><a href="#a2786cc1d2f3b3891dc2d41077a2ee12f">&#9670;&#160;</a></span>sRandom()</h2>
  2025. <div class="memitem">
  2026. <div class="memproto">
  2027. <div class="memtemplate">
  2028. template&lt;class Random &gt; </div>
  2029. <table class="mlabels">
  2030. <tr>
  2031. <td class="mlabels-left">
  2032. <table class="memname">
  2033. <tr>
  2034. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sRandom </td>
  2035. <td>(</td>
  2036. <td class="paramtype">Random &amp;</td> <td class="paramname"><span class="paramname"><em>inRandom</em></span></td><td>)</td>
  2037. <td></td>
  2038. </tr>
  2039. </table>
  2040. </td>
  2041. <td class="mlabels-right">
  2042. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  2043. </tr>
  2044. </table>
  2045. </div><div class="memdoc">
  2046. <p>Get random unit vector. </p>
  2047. </div>
  2048. </div>
  2049. <a id="ad6be51ce14811d6c196784d20cb39b98" name="ad6be51ce14811d6c196784d20cb39b98"></a>
  2050. <h2 class="memtitle"><span class="permalink"><a href="#ad6be51ce14811d6c196784d20cb39b98">&#9670;&#160;</a></span>sReplicate()</h2>
  2051. <div class="memitem">
  2052. <div class="memproto">
  2053. <table class="mlabels">
  2054. <tr>
  2055. <td class="mlabels-left">
  2056. <table class="memname">
  2057. <tr>
  2058. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sReplicate </td>
  2059. <td>(</td>
  2060. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inV</em></span></td><td>)</td>
  2061. <td></td>
  2062. </tr>
  2063. </table>
  2064. </td>
  2065. <td class="mlabels-right">
  2066. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  2067. </tr>
  2068. </table>
  2069. </div><div class="memdoc">
  2070. <p>Replicate inV across all components. </p>
  2071. </div>
  2072. </div>
  2073. <a id="ae0f4ab3438fe6b9782010ef8212a6d69" name="ae0f4ab3438fe6b9782010ef8212a6d69"></a>
  2074. <h2 class="memtitle"><span class="permalink"><a href="#ae0f4ab3438fe6b9782010ef8212a6d69">&#9670;&#160;</a></span>sSelect()</h2>
  2075. <div class="memitem">
  2076. <div class="memproto">
  2077. <table class="mlabels">
  2078. <tr>
  2079. <td class="mlabels-left">
  2080. <table class="memname">
  2081. <tr>
  2082. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sSelect </td>
  2083. <td>(</td>
  2084. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inNotSet</em></span>, </td>
  2085. </tr>
  2086. <tr>
  2087. <td class="paramkey"></td>
  2088. <td></td>
  2089. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inSet</em></span>, </td>
  2090. </tr>
  2091. <tr>
  2092. <td class="paramkey"></td>
  2093. <td></td>
  2094. <td class="paramtype"><a class="el" href="_math_types_8h.html#afe962105a594eb55fe13daa266182a7e">UVec4Arg</a></td> <td class="paramname"><span class="paramname"><em>inControl</em></span>&#160;)</td>
  2095. </tr>
  2096. </table>
  2097. </td>
  2098. <td class="mlabels-right">
  2099. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  2100. </tr>
  2101. </table>
  2102. </div><div class="memdoc">
  2103. <p>Component wise select, returns inNotSet when highest bit of inControl = 0 and inSet when highest bit of inControl = 1. </p>
  2104. </div>
  2105. </div>
  2106. <a id="ab22c62c48d2de13947c0cd3413018364" name="ab22c62c48d2de13947c0cd3413018364"></a>
  2107. <h2 class="memtitle"><span class="permalink"><a href="#ab22c62c48d2de13947c0cd3413018364">&#9670;&#160;</a></span>StoreFloat3()</h2>
  2108. <div class="memitem">
  2109. <div class="memproto">
  2110. <table class="memname">
  2111. <tr>
  2112. <td class="memname">void Vec3::StoreFloat3 </td>
  2113. <td>(</td>
  2114. <td class="paramtype"><a class="el" href="class_float3.html">Float3</a> *</td> <td class="paramname"><span class="paramname"><em>outV</em></span></td><td>)</td>
  2115. <td> const</td>
  2116. </tr>
  2117. </table>
  2118. </div><div class="memdoc">
  2119. <p>Store 3 floats to memory. </p>
  2120. </div>
  2121. </div>
  2122. <a id="aa1ab73a18c3b8b69303bde72cf8bc171" name="aa1ab73a18c3b8b69303bde72cf8bc171"></a>
  2123. <h2 class="memtitle"><span class="permalink"><a href="#aa1ab73a18c3b8b69303bde72cf8bc171">&#9670;&#160;</a></span>sUnitSpherical()</h2>
  2124. <div class="memitem">
  2125. <div class="memproto">
  2126. <table class="mlabels">
  2127. <tr>
  2128. <td class="mlabels-left">
  2129. <table class="memname">
  2130. <tr>
  2131. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sUnitSpherical </td>
  2132. <td>(</td>
  2133. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inTheta</em></span>, </td>
  2134. </tr>
  2135. <tr>
  2136. <td class="paramkey"></td>
  2137. <td></td>
  2138. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inPhi</em></span>&#160;)</td>
  2139. </tr>
  2140. </table>
  2141. </td>
  2142. <td class="mlabels-right">
  2143. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  2144. </tr>
  2145. </table>
  2146. </div><div class="memdoc">
  2147. <p>Get unit vector given spherical coordinates inTheta \(\in [0, \pi]\) is angle between vector and z-axis inPhi \(\in [0, 2 \pi]\) is the angle in the xy-plane starting from the x axis and rotating counter clockwise around the z-axis </p>
  2148. </div>
  2149. </div>
  2150. <a id="afd477997c0834bd3080156e730ced38d" name="afd477997c0834bd3080156e730ced38d"></a>
  2151. <h2 class="memtitle"><span class="permalink"><a href="#afd477997c0834bd3080156e730ced38d">&#9670;&#160;</a></span>Swizzle() <span class="overload">[1/2]</span></h2>
  2152. <div class="memitem">
  2153. <div class="memproto">
  2154. <div class="memtemplate">
  2155. template&lt;<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleX, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleY, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleZ&gt; </div>
  2156. <table class="memname">
  2157. <tr>
  2158. <td class="memname">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> Vec3::Swizzle </td>
  2159. <td>(</td>
  2160. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  2161. <td> const</td>
  2162. </tr>
  2163. </table>
  2164. </div><div class="memdoc">
  2165. <p>Swizzle the elements in inV. </p>
  2166. </div>
  2167. </div>
  2168. <a id="aeeadce7b9b442cccab2d2f3cbde2ccb9" name="aeeadce7b9b442cccab2d2f3cbde2ccb9"></a>
  2169. <h2 class="memtitle"><span class="permalink"><a href="#aeeadce7b9b442cccab2d2f3cbde2ccb9">&#9670;&#160;</a></span>Swizzle() <span class="overload">[2/2]</span></h2>
  2170. <div class="memitem">
  2171. <div class="memproto">
  2172. <div class="memtemplate">
  2173. template&lt;<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleX, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleY, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SwizzleZ&gt; </div>
  2174. <table class="memname">
  2175. <tr>
  2176. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::Swizzle </td>
  2177. <td>(</td>
  2178. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  2179. <td> const</td>
  2180. </tr>
  2181. </table>
  2182. </div><div class="memdoc">
  2183. </div>
  2184. </div>
  2185. <a id="a3327f133140fbd8cf8e0adaa59480ab3" name="a3327f133140fbd8cf8e0adaa59480ab3"></a>
  2186. <h2 class="memtitle"><span class="permalink"><a href="#a3327f133140fbd8cf8e0adaa59480ab3">&#9670;&#160;</a></span>sXor()</h2>
  2187. <div class="memitem">
  2188. <div class="memproto">
  2189. <table class="mlabels">
  2190. <tr>
  2191. <td class="mlabels-left">
  2192. <table class="memname">
  2193. <tr>
  2194. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sXor </td>
  2195. <td>(</td>
  2196. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  2197. </tr>
  2198. <tr>
  2199. <td class="paramkey"></td>
  2200. <td></td>
  2201. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  2202. </tr>
  2203. </table>
  2204. </td>
  2205. <td class="mlabels-right">
  2206. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  2207. </tr>
  2208. </table>
  2209. </div><div class="memdoc">
  2210. <p>Logical xor (component wise) </p>
  2211. </div>
  2212. </div>
  2213. <a id="ad03c52ab27761bc1e64e33c47632ba51" name="ad03c52ab27761bc1e64e33c47632ba51"></a>
  2214. <h2 class="memtitle"><span class="permalink"><a href="#ad03c52ab27761bc1e64e33c47632ba51">&#9670;&#160;</a></span>sZero()</h2>
  2215. <div class="memitem">
  2216. <div class="memproto">
  2217. <table class="mlabels">
  2218. <tr>
  2219. <td class="mlabels-left">
  2220. <table class="memname">
  2221. <tr>
  2222. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Vec3::sZero </td>
  2223. <td>(</td>
  2224. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  2225. <td></td>
  2226. </tr>
  2227. </table>
  2228. </td>
  2229. <td class="mlabels-right">
  2230. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  2231. </tr>
  2232. </table>
  2233. </div><div class="memdoc">
  2234. <p><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> with all zeros. </p>
  2235. </div>
  2236. </div>
  2237. <a id="aa3c728704083c719616638ceb698b2f1" name="aa3c728704083c719616638ceb698b2f1"></a>
  2238. <h2 class="memtitle"><span class="permalink"><a href="#aa3c728704083c719616638ceb698b2f1">&#9670;&#160;</a></span>ToInt()</h2>
  2239. <div class="memitem">
  2240. <div class="memproto">
  2241. <table class="memname">
  2242. <tr>
  2243. <td class="memname"><a class="el" href="class_u_vec4.html">UVec4</a> Vec3::ToInt </td>
  2244. <td>(</td>
  2245. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  2246. <td> const</td>
  2247. </tr>
  2248. </table>
  2249. </div><div class="memdoc">
  2250. <p>Convert each component from a float to an int. </p>
  2251. </div>
  2252. </div>
  2253. <h2 class="groupheader">Friends And Related Symbol Documentation</h2>
  2254. <a id="a4f514df42b1d780285645f9ac4ab984d" name="a4f514df42b1d780285645f9ac4ab984d"></a>
  2255. <h2 class="memtitle"><span class="permalink"><a href="#a4f514df42b1d780285645f9ac4ab984d">&#9670;&#160;</a></span>operator*</h2>
  2256. <div class="memitem">
  2257. <div class="memproto">
  2258. <table class="mlabels">
  2259. <tr>
  2260. <td class="mlabels-left">
  2261. <table class="memname">
  2262. <tr>
  2263. <td class="memname">JPH_INLINE <a class="el" href="class_vec3.html">Vec3</a> operator* </td>
  2264. <td>(</td>
  2265. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inV1</em></span>, </td>
  2266. </tr>
  2267. <tr>
  2268. <td class="paramkey"></td>
  2269. <td></td>
  2270. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV2</em></span>&#160;)</td>
  2271. </tr>
  2272. </table>
  2273. </td>
  2274. <td class="mlabels-right">
  2275. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  2276. </tr>
  2277. </table>
  2278. </div><div class="memdoc">
  2279. <p>Multiply vector with float. </p>
  2280. </div>
  2281. </div>
  2282. <a id="a846e7ac0cd20c95921db85cddb24a0f8" name="a846e7ac0cd20c95921db85cddb24a0f8"></a>
  2283. <h2 class="memtitle"><span class="permalink"><a href="#a846e7ac0cd20c95921db85cddb24a0f8">&#9670;&#160;</a></span>operator&lt;&lt;</h2>
  2284. <div class="memitem">
  2285. <div class="memproto">
  2286. <table class="mlabels">
  2287. <tr>
  2288. <td class="mlabels-left">
  2289. <table class="memname">
  2290. <tr>
  2291. <td class="memname">ostream &amp; operator&lt;&lt; </td>
  2292. <td>(</td>
  2293. <td class="paramtype">ostream &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span>, </td>
  2294. </tr>
  2295. <tr>
  2296. <td class="paramkey"></td>
  2297. <td></td>
  2298. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inV</em></span>&#160;)</td>
  2299. </tr>
  2300. </table>
  2301. </td>
  2302. <td class="mlabels-right">
  2303. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  2304. </tr>
  2305. </table>
  2306. </div><div class="memdoc">
  2307. <p>To String. </p>
  2308. </div>
  2309. </div>
  2310. <h2 class="groupheader">Member Data Documentation</h2>
  2311. <a id="a893eac48d675aac2fc01d4269fb43966" name="a893eac48d675aac2fc01d4269fb43966"></a>
  2312. <h2 class="memtitle"><span class="permalink"><a href="#a893eac48d675aac2fc01d4269fb43966">&#9670;&#160;</a></span>[union]</h2>
  2313. <div class="memitem">
  2314. <div class="memproto">
  2315. <table class="memname">
  2316. <tr>
  2317. <td class="memname">union { ... } <a class="el" href="class_vec3.html">Vec3</a></td>
  2318. </tr>
  2319. </table>
  2320. </div><div class="memdoc">
  2321. </div>
  2322. </div>
  2323. <a id="aca3385f3736a2231ace7de3a558d2863" name="aca3385f3736a2231ace7de3a558d2863"></a>
  2324. <h2 class="memtitle"><span class="permalink"><a href="#aca3385f3736a2231ace7de3a558d2863">&#9670;&#160;</a></span>mF32</h2>
  2325. <div class="memitem">
  2326. <div class="memproto">
  2327. <table class="memname">
  2328. <tr>
  2329. <td class="memname">float Vec3::mF32[4]</td>
  2330. </tr>
  2331. </table>
  2332. </div><div class="memdoc">
  2333. </div>
  2334. </div>
  2335. <a id="aa84e1ff8ea2e1cea4b73c7768966fa03" name="aa84e1ff8ea2e1cea4b73c7768966fa03"></a>
  2336. <h2 class="memtitle"><span class="permalink"><a href="#aa84e1ff8ea2e1cea4b73c7768966fa03">&#9670;&#160;</a></span>mValue</h2>
  2337. <div class="memitem">
  2338. <div class="memproto">
  2339. <table class="memname">
  2340. <tr>
  2341. <td class="memname"><a class="el" href="#a113d94ab6f5a2f4fd236b64b9ad7cddc">Type</a> Vec3::mValue</td>
  2342. </tr>
  2343. </table>
  2344. </div><div class="memdoc">
  2345. </div>
  2346. </div>
  2347. <a id="afc091778f74022132499d75cb8a0f43d" name="afc091778f74022132499d75cb8a0f43d"></a>
  2348. <h2 class="memtitle"><span class="permalink"><a href="#afc091778f74022132499d75cb8a0f43d">&#9670;&#160;</a></span>sUnitSphere</h2>
  2349. <div class="memitem">
  2350. <div class="memproto">
  2351. <table class="mlabels">
  2352. <tr>
  2353. <td class="mlabels-left">
  2354. <table class="memname">
  2355. <tr>
  2356. <td class="memname">const <a class="el" href="class_static_array.html">StaticArray</a>&lt; <a class="el" href="class_vec3.html">Vec3</a>, 1026 &gt; Vec3::sUnitSphere</td>
  2357. </tr>
  2358. </table>
  2359. </td>
  2360. <td class="mlabels-right">
  2361. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  2362. </tr>
  2363. </table>
  2364. </div><div class="memdoc">
  2365. <b>Initial value:</b><div class="fragment"><div class="line">= []() {</div>
  2366. <div class="line"> </div>
  2367. <div class="line"> <span class="keyword">const</span> <span class="keywordtype">int</span> level = 3;</div>
  2368. <div class="line"> </div>
  2369. <div class="line"> <a class="code hl_class" href="class_static_array.html">StaticArray&lt;Vec3, 1026&gt;</a> verts;</div>
  2370. <div class="line"> </div>
  2371. <div class="line"> </div>
  2372. <div class="line"> verts.<a class="code hl_function" href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">push_back</a>(<a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>());</div>
  2373. <div class="line"> verts.<a class="code hl_function" href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">push_back</a>(-<a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>());</div>
  2374. <div class="line"> verts.<a class="code hl_function" href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">push_back</a>(<a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>());</div>
  2375. <div class="line"> verts.<a class="code hl_function" href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">push_back</a>(-<a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>());</div>
  2376. <div class="line"> verts.<a class="code hl_function" href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">push_back</a>(<a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>());</div>
  2377. <div class="line"> verts.<a class="code hl_function" href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">push_back</a>(-<a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>());</div>
  2378. <div class="line"> </div>
  2379. <div class="line"> </div>
  2380. <div class="line"> sCreateVertices(verts, <a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), <a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), <a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2381. <div class="line"> sCreateVertices(verts, -<a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), <a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), <a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2382. <div class="line"> sCreateVertices(verts, <a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), -<a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), <a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2383. <div class="line"> sCreateVertices(verts, -<a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), -<a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), <a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2384. <div class="line"> sCreateVertices(verts, <a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), <a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), -<a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2385. <div class="line"> sCreateVertices(verts, -<a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), <a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), -<a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2386. <div class="line"> sCreateVertices(verts, <a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), -<a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), -<a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2387. <div class="line"> sCreateVertices(verts, -<a class="code hl_function" href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a>(), -<a class="code hl_function" href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a>(), -<a class="code hl_function" href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a>(), level);</div>
  2388. <div class="line"> </div>
  2389. <div class="line"> <span class="keywordflow">return</span> verts;</div>
  2390. <div class="line">}()</div>
  2391. <div class="ttc" id="aclass_static_array_html"><div class="ttname"><a href="class_static_array.html">StaticArray</a></div><div class="ttdoc">Simple variable length array backed by a fixed size buffer.</div><div class="ttdef"><b>Definition</b> StaticArray.h:14</div></div>
  2392. <div class="ttc" id="aclass_static_array_html_a1117d7fa5ecfe22248396f1632d842cb"><div class="ttname"><a href="class_static_array.html#a1117d7fa5ecfe22248396f1632d842cb">StaticArray::push_back</a></div><div class="ttdeci">void push_back(const T &amp;inElement)</div><div class="ttdoc">Add element to the back of the array.</div><div class="ttdef"><b>Definition</b> StaticArray.h:61</div></div>
  2393. <div class="ttc" id="aclass_vec3_html_a142cc5c79f08229eb11532c26f1a1e90"><div class="ttname"><a href="#a142cc5c79f08229eb11532c26f1a1e90">Vec3::sAxisX</a></div><div class="ttdeci">static JPH_INLINE Vec3 sAxisX()</div><div class="ttdoc">Vectors with the principal axis.</div><div class="ttdef"><b>Definition</b> Vec3.h:56</div></div>
  2394. <div class="ttc" id="aclass_vec3_html_a2819718744feddb0bc150c6ccc26fad1"><div class="ttname"><a href="#a2819718744feddb0bc150c6ccc26fad1">Vec3::sAxisY</a></div><div class="ttdeci">static JPH_INLINE Vec3 sAxisY()</div><div class="ttdef"><b>Definition</b> Vec3.h:57</div></div>
  2395. <div class="ttc" id="aclass_vec3_html_aa16ac2747950d2e64537f8454872d174"><div class="ttname"><a href="#aa16ac2747950d2e64537f8454872d174">Vec3::sAxisZ</a></div><div class="ttdeci">static JPH_INLINE Vec3 sAxisZ()</div><div class="ttdef"><b>Definition</b> Vec3.h:58</div></div>
  2396. </div><!-- fragment -->
  2397. <p>A set of vectors uniformly spanning the surface of a unit sphere, usable for debug purposes. </p>
  2398. </div>
  2399. </div>
  2400. <hr/>The documentation for this class was generated from the following files:<ul>
  2401. <li>Jolt/Math/<a class="el" href="_vec3_8h_source.html">Vec3.h</a></li>
  2402. <li>Jolt/Math/<a class="el" href="_vec3_8cpp.html">Vec3.cpp</a></li>
  2403. <li>Jolt/Math/<a class="el" href="_vec3_8inl_source.html">Vec3.inl</a></li>
  2404. </ul>
  2405. </div><!-- contents -->
  2406. </div><!-- doc-content -->
  2407. <!-- start footer part -->
  2408. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  2409. <ul>
  2410. <li class="navelem"><a class="el" href="class_vec3.html">Vec3</a></li>
  2411. <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>
  2412. </ul>
  2413. </div>
  2414. </body>
  2415. </html>