| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=11"/>
- <meta name="generator" content="Doxygen 1.12.0"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>Jolt Physics: HeightFieldShapeSettings Class Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <script type="text/javascript" src="clipboard.js"></script>
- <link href="navtree.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="navtreedata.js"></script>
- <script type="text/javascript" src="navtree.js"></script>
- <script type="text/javascript" src="resize.js"></script>
- <script type="text/javascript" src="cookie.js"></script>
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="search/searchdata.js"></script>
- <script type="text/javascript" src="search/search.js"></script>
- <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- });
- </script>
- <script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr id="projectrow">
- <td id="projectlogo"><img alt="Logo" src="LogoSmall.png"/></td>
- <td id="projectalign">
- <div id="projectname">Jolt Physics
- </div>
- <div id="projectbrief">A multi core friendly Game Physics Engine</div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.12.0 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- var searchBox = new SearchBox("searchBox", "search/",'.html');
- /* @license-end */
- </script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function() { codefold.init(0); });
- /* @license-end */
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function() {
- initMenu('',true,false,'search.php','Search',true);
- $(function() { init_search(); });
- });
- /* @license-end */
- </script>
- <div id="main-nav"></div>
- </div><!-- top -->
- <div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
- </div>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function(){initNavTree('class_height_field_shape_settings.html',''); initResizable(true); });
- /* @license-end */
- </script>
- <div id="doc-content">
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- </div>
- <!-- iframe showing the search results (closed by default) -->
- <div id="MSearchResultsWindow">
- <div id="MSearchResults">
- <div class="SRPage">
- <div id="SRIndex">
- <div id="SRResults"></div>
- <div class="SRStatus" id="Loading">Loading...</div>
- <div class="SRStatus" id="Searching">Searching...</div>
- <div class="SRStatus" id="NoMatches">No Matches</div>
- </div>
- </div>
- </div>
- </div>
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pub-attribs">Public Attributes</a> |
- <a href="class_height_field_shape_settings-members.html">List of all members</a> </div>
- <div class="headertitle"><div class="title">HeightFieldShapeSettings Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
- </div><!--header-->
- <div class="contents">
- <p>Class that constructs a <a class="el" href="class_height_field_shape.html">HeightFieldShape</a>.
- <a href="#details">More...</a></p>
- <p><code>#include <<a class="el" href="_height_field_shape_8h_source.html">HeightFieldShape.h</a>></code></p>
- <div class="dynheader">
- Inheritance diagram for HeightFieldShapeSettings:</div>
- <div class="dyncontent">
- <div class="center">
- <img src="class_height_field_shape_settings.png" usemap="#HeightFieldShapeSettings_map" alt=""/>
- <map id="HeightFieldShapeSettings_map" name="HeightFieldShapeSettings_map">
- <area href="class_shape_settings.html" alt="ShapeSettings" shape="rect" coords="90,56,261,80"/>
- <area href="class_serializable_object.html" alt="SerializableObject" shape="rect" coords="0,0,171,24"/>
- <area href="class_ref_target.html" alt="RefTarget< ShapeSettings >" shape="rect" coords="181,0,352,24"/>
- </map>
- </div></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr class="memitem:a3bd65c794f1651b192e95a4fc7c60576" id="r_a3bd65c794f1651b192e95a4fc7c60576"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3bd65c794f1651b192e95a4fc7c60576">HeightFieldShapeSettings</a> ()=default</td></tr>
- <tr class="memdesc:a3bd65c794f1651b192e95a4fc7c60576"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor for deserialization. <br /></td></tr>
- <tr class="separator:a3bd65c794f1651b192e95a4fc7c60576"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adf01e409660816defec790e752348cc0" id="r_adf01e409660816defec790e752348cc0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#adf01e409660816defec790e752348cc0">HeightFieldShapeSettings</a> (const float *inSamples, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inOffset, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inSampleCount, const <a class="el" href="_core_8h.html#a115946cb5fc5879545e9ccea096a6031">uint8</a> *inMaterialIndices=nullptr, const <a class="el" href="_physics_material_8h.html#a70f625357e4695ae655c736059ac7154">PhysicsMaterialList</a> &inMaterialList=<a class="el" href="_physics_material_8h.html#a70f625357e4695ae655c736059ac7154">PhysicsMaterialList</a>())</td></tr>
- <tr class="separator:adf01e409660816defec790e752348cc0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aba3ca652ae38def1bcdc999738eb7b61" id="r_aba3ca652ae38def1bcdc999738eb7b61"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_shape_settings.html#a8573ddc7722fadfc12bb16515d77254a">ShapeResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aba3ca652ae38def1bcdc999738eb7b61">Create</a> () const override</td></tr>
- <tr class="memdesc:aba3ca652ae38def1bcdc999738eb7b61"><td class="mdescLeft"> </td><td class="mdescRight">Create a shape according to the settings specified by this object. <br /></td></tr>
- <tr class="separator:aba3ca652ae38def1bcdc999738eb7b61"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a461c9c2289620877314186af163ebf73" id="r_a461c9c2289620877314186af163ebf73"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a461c9c2289620877314186af163ebf73">DetermineMinAndMaxSample</a> (float &outMinValue, float &outMaxValue, float &outQuantizationScale) const</td></tr>
- <tr class="separator:a461c9c2289620877314186af163ebf73"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afa8076803d2d512fbe625d0eb9c90811" id="r_afa8076803d2d512fbe625d0eb9c90811"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#afa8076803d2d512fbe625d0eb9c90811">CalculateBitsPerSampleForError</a> (float inMaxError) const</td></tr>
- <tr class="separator:afa8076803d2d512fbe625d0eb9c90811"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_shape_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_shape_settings')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_shape_settings.html">ShapeSettings</a></td></tr>
- <tr class="memitem:aa965a759e6c4cbc43ebf0aa8bd1f2d30 inherit pub_methods_class_shape_settings" id="r_aa965a759e6c4cbc43ebf0aa8bd1f2d30"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_shape_settings.html#aa965a759e6c4cbc43ebf0aa8bd1f2d30">ClearCachedResult</a> ()</td></tr>
- <tr class="separator:aa965a759e6c4cbc43ebf0aa8bd1f2d30 inherit pub_methods_class_shape_settings"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_serializable_object"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_serializable_object')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_serializable_object.html">SerializableObject</a></td></tr>
- <tr class="memitem:afad98c73b77e9cef11cf5083a5866d49 inherit pub_methods_class_serializable_object" id="r_afad98c73b77e9cef11cf5083a5866d49"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#afad98c73b77e9cef11cf5083a5866d49">~SerializableObject</a> ()=default</td></tr>
- <tr class="memdesc:afad98c73b77e9cef11cf5083a5866d49 inherit pub_methods_class_serializable_object"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
- <tr class="separator:afad98c73b77e9cef11cf5083a5866d49 inherit pub_methods_class_serializable_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_ref_target')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_ref_target.html">RefTarget< ShapeSettings ></a></td></tr>
- <tr class="memitem:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target" id="r_a4c8a23738e2e1dd6369520a30e250b17"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a4c8a23738e2e1dd6369520a30e250b17">RefTarget</a> ()=default</td></tr>
- <tr class="memdesc:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br /></td></tr>
- <tr class="separator:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target" id="r_a50444e3b659c6f93c64aee224a93f6ab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a50444e3b659c6f93c64aee224a93f6ab">RefTarget</a> (const <a class="el" href="class_ref_target.html">RefTarget</a> &)</td></tr>
- <tr class="separator:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target" id="r_ac3110b9f511287f881d7afaf26871e1b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#ac3110b9f511287f881d7afaf26871e1b">~RefTarget</a> ()</td></tr>
- <tr class="memdesc:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">assert no one is referencing us <br /></td></tr>
- <tr class="separator:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target" id="r_a3befa746ea517453572f6f4f5fc3b099"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a3befa746ea517453572f6f4f5fc3b099">SetEmbedded</a> () const</td></tr>
- <tr class="separator:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target" id="r_a1fc15bfe979bc43a7fa71c7c34f87ed0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref_target.html">RefTarget</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a1fc15bfe979bc43a7fa71c7c34f87ed0">operator=</a> (const <a class="el" href="class_ref_target.html">RefTarget</a> &)</td></tr>
- <tr class="memdesc:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <br /></td></tr>
- <tr class="separator:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target" id="r_acaf07366183c51cd8460c7d3dcd07c2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#acaf07366183c51cd8460c7d3dcd07c2d">GetRefCount</a> () const</td></tr>
- <tr class="memdesc:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Get current refcount of this object. <br /></td></tr>
- <tr class="separator:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target" id="r_acf02c18a343bc9de9d6afb7c966f0363"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#acf02c18a343bc9de9d6afb7c966f0363">AddRef</a> () const</td></tr>
- <tr class="memdesc:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Add or release a reference to this object. <br /></td></tr>
- <tr class="separator:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target" id="r_a0451661dd5d85b01f969319e767993eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a0451661dd5d85b01f969319e767993eb">Release</a> () const</td></tr>
- <tr class="separator:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
- Public Attributes</h2></td></tr>
- <tr class="memitem:a7b2cbd09f2cd2d0c5d5381ab244a1d6a" id="r_a7b2cbd09f2cd2d0c5d5381ab244a1d6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7b2cbd09f2cd2d0c5d5381ab244a1d6a">mOffset</a> = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td></tr>
- <tr class="separator:a7b2cbd09f2cd2d0c5d5381ab244a1d6a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abdaa8bfc9ee9392b6813519a989f089e" id="r_abdaa8bfc9ee9392b6813519a989f089e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#abdaa8bfc9ee9392b6813519a989f089e">mScale</a> = <a class="el" href="class_vec3.html#a6bc0731860c69d4e3151981d2dc24e93">Vec3::sOne</a>()</td></tr>
- <tr class="separator:abdaa8bfc9ee9392b6813519a989f089e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8028cb21d400d589b670f0a88d25e4b8" id="r_a8028cb21d400d589b670f0a88d25e4b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8028cb21d400d589b670f0a88d25e4b8">mSampleCount</a> = 0</td></tr>
- <tr class="separator:a8028cb21d400d589b670f0a88d25e4b8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5a5666c8a5c77d89b4fd1f7fb555a96e" id="r_a5a5666c8a5c77d89b4fd1f7fb555a96e"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a5666c8a5c77d89b4fd1f7fb555a96e">mMinHeightValue</a> = cLargeFloat</td></tr>
- <tr class="memdesc:a5a5666c8a5c77d89b4fd1f7fb555a96e"><td class="mdescLeft"> </td><td class="mdescRight">Artificial minimal value of mHeightSamples, used for compression and can be used to update the terrain after creating with lower height values. If there are any lower values in mHeightSamples, this value will be ignored. <br /></td></tr>
- <tr class="separator:a5a5666c8a5c77d89b4fd1f7fb555a96e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8851f44e1c36e194a1fa033c463fedb7" id="r_a8851f44e1c36e194a1fa033c463fedb7"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8851f44e1c36e194a1fa033c463fedb7">mMaxHeightValue</a> = -cLargeFloat</td></tr>
- <tr class="memdesc:a8851f44e1c36e194a1fa033c463fedb7"><td class="mdescLeft"> </td><td class="mdescRight">Artificial maximum value of mHeightSamples, used for compression and can be used to update the terrain after creating with higher height values. If there are any higher values in mHeightSamples, this value will be ignored. <br /></td></tr>
- <tr class="separator:a8851f44e1c36e194a1fa033c463fedb7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a356d9e6fda2e3fca23239b77dd86d273" id="r_a356d9e6fda2e3fca23239b77dd86d273"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a356d9e6fda2e3fca23239b77dd86d273">mMaterialsCapacity</a> = 0</td></tr>
- <tr class="separator:a356d9e6fda2e3fca23239b77dd86d273"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8e99fb8a4d1444569a307ac2b9712e31" id="r_a8e99fb8a4d1444569a307ac2b9712e31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e99fb8a4d1444569a307ac2b9712e31">mBlockSize</a> = 2</td></tr>
- <tr class="separator:a8e99fb8a4d1444569a307ac2b9712e31"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7f87d207da7948e2a36a22be55143ad0" id="r_a7f87d207da7948e2a36a22be55143ad0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f87d207da7948e2a36a22be55143ad0">mBitsPerSample</a> = 8</td></tr>
- <tr class="separator:a7f87d207da7948e2a36a22be55143ad0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7e55509101c2c09001a431825ca0c82a" id="r_a7e55509101c2c09001a431825ca0c82a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_array.html">Array</a>< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e55509101c2c09001a431825ca0c82a">mHeightSamples</a></td></tr>
- <tr class="memdesc:a7e55509101c2c09001a431825ca0c82a"><td class="mdescLeft"> </td><td class="mdescRight">An array of mSampleCount^2 height samples. Samples are stored in row major order, so the sample at (x, y) is at index y * mSampleCount + x. <br /></td></tr>
- <tr class="separator:a7e55509101c2c09001a431825ca0c82a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aea730c5a9dc0ebbc614448d5b6187d00" id="r_aea730c5a9dc0ebbc614448d5b6187d00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_array.html">Array</a>< <a class="el" href="_core_8h.html#a115946cb5fc5879545e9ccea096a6031">uint8</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="#aea730c5a9dc0ebbc614448d5b6187d00">mMaterialIndices</a></td></tr>
- <tr class="memdesc:aea730c5a9dc0ebbc614448d5b6187d00"><td class="mdescLeft"> </td><td class="mdescRight">An array of (mSampleCount - 1)^2 material indices. <br /></td></tr>
- <tr class="separator:aea730c5a9dc0ebbc614448d5b6187d00"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af9c4d464234b38f19df16faab06c6f38" id="r_af9c4d464234b38f19df16faab06c6f38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_physics_material_8h.html#a70f625357e4695ae655c736059ac7154">PhysicsMaterialList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af9c4d464234b38f19df16faab06c6f38">mMaterials</a></td></tr>
- <tr class="memdesc:af9c4d464234b38f19df16faab06c6f38"><td class="mdescLeft"> </td><td class="mdescRight">The materials of square at (x, y) is: mMaterials[mMaterialIndices[x + y * (mSampleCount - 1)]]. <br /></td></tr>
- <tr class="separator:af9c4d464234b38f19df16faab06c6f38"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac600befce41089e57309054090c889c8" id="r_ac600befce41089e57309054090c889c8"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac600befce41089e57309054090c889c8">mActiveEdgeCosThresholdAngle</a> = 0.996195f</td></tr>
- <tr class="separator:ac600befce41089e57309054090c889c8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_attribs_class_shape_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_class_shape_settings')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="class_shape_settings.html">ShapeSettings</a></td></tr>
- <tr class="memitem:acd32835291c84d23e49c15194c1b0424 inherit pub_attribs_class_shape_settings" id="r_acd32835291c84d23e49c15194c1b0424"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_shape_settings.html#acd32835291c84d23e49c15194c1b0424">mUserData</a> = 0</td></tr>
- <tr class="memdesc:acd32835291c84d23e49c15194c1b0424 inherit pub_attribs_class_shape_settings"><td class="mdescLeft"> </td><td class="mdescRight">User data (to be used freely by the application) <br /></td></tr>
- <tr class="separator:acd32835291c84d23e49c15194c1b0424 inherit pub_attribs_class_shape_settings"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
- Additional Inherited Members</h2></td></tr>
- <tr class="inherit_header pub_types_class_shape_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_types_class_shape_settings')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="class_shape_settings.html">ShapeSettings</a></td></tr>
- <tr class="memitem:a8573ddc7722fadfc12bb16515d77254a inherit pub_types_class_shape_settings" id="r_a8573ddc7722fadfc12bb16515d77254a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="class_shape_settings.html#a8573ddc7722fadfc12bb16515d77254a">ShapeResult</a> = <a class="el" href="class_result.html">Result</a><<a class="el" href="class_ref.html">Ref</a><<a class="el" href="class_shape.html">Shape</a>>></td></tr>
- <tr class="separator:a8573ddc7722fadfc12bb16515d77254a inherit pub_types_class_shape_settings"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_static_methods_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_class_ref_target')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="class_ref_target.html">RefTarget< ShapeSettings ></a></td></tr>
- <tr class="memitem:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target" id="r_a58b5a94748691b18ecf651ce918ae743"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a58b5a94748691b18ecf651ce918ae743">sInternalGetRefCountOffset</a> ()</td></tr>
- <tr class="memdesc:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">INTERNAL HELPER FUNCTION USED BY SERIALIZATION. <br /></td></tr>
- <tr class="separator:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_methods_class_serializable_object"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_class_serializable_object')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="class_serializable_object.html">SerializableObject</a></td></tr>
- <tr class="memitem:a17ef2cfabac970a7b97b3dc75fa06eee inherit pro_methods_class_serializable_object" id="r_a17ef2cfabac970a7b97b3dc75fa06eee"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#a17ef2cfabac970a7b97b3dc75fa06eee">SerializableObject</a> ()=default</td></tr>
- <tr class="memdesc:a17ef2cfabac970a7b97b3dc75fa06eee inherit pro_methods_class_serializable_object"><td class="mdescLeft"> </td><td class="mdescRight">Don't allow (copy) constructing this base class, but allow derived classes to (copy) construct themselves. <br /></td></tr>
- <tr class="separator:a17ef2cfabac970a7b97b3dc75fa06eee inherit pro_methods_class_serializable_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aaf09b99b1dcfe726a392cfa2f9e2b3eb inherit pro_methods_class_serializable_object" id="r_aaf09b99b1dcfe726a392cfa2f9e2b3eb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#aaf09b99b1dcfe726a392cfa2f9e2b3eb">SerializableObject</a> (const <a class="el" href="class_serializable_object.html">SerializableObject</a> &)=default</td></tr>
- <tr class="separator:aaf09b99b1dcfe726a392cfa2f9e2b3eb inherit pro_methods_class_serializable_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2e1b9e7dda273bacf82f2708c9f8537a inherit pro_methods_class_serializable_object" id="r_a2e1b9e7dda273bacf82f2708c9f8537a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_serializable_object.html">SerializableObject</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#a2e1b9e7dda273bacf82f2708c9f8537a">operator=</a> (const <a class="el" href="class_serializable_object.html">SerializableObject</a> &)=default</td></tr>
- <tr class="separator:a2e1b9e7dda273bacf82f2708c9f8537a inherit pro_methods_class_serializable_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_attribs_class_shape_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_class_shape_settings')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="class_shape_settings.html">ShapeSettings</a></td></tr>
- <tr class="memitem:ac8e243f3e923ee07d58111a0dd88c547 inherit pro_attribs_class_shape_settings" id="r_ac8e243f3e923ee07d58111a0dd88c547"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_shape_settings.html#a8573ddc7722fadfc12bb16515d77254a">ShapeResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_shape_settings.html#ac8e243f3e923ee07d58111a0dd88c547">mCachedResult</a></td></tr>
- <tr class="separator:ac8e243f3e923ee07d58111a0dd88c547 inherit pro_attribs_class_shape_settings"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_attribs_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_class_ref_target')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="class_ref_target.html">RefTarget< ShapeSettings ></a></td></tr>
- <tr class="memitem:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target" id="r_a12afba0bdae7706a0afd4d96ac128231"><td class="memItemLeft" align="right" valign="top">atomic< <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a12afba0bdae7706a0afd4d96ac128231">mRefCount</a></td></tr>
- <tr class="memdesc:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">Current reference count. <br /></td></tr>
- <tr class="separator:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_static_attribs_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_attribs_class_ref_target')"><img src="closed.png" alt="-"/> Static Protected Attributes inherited from <a class="el" href="class_ref_target.html">RefTarget< ShapeSettings ></a></td></tr>
- <tr class="memitem:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target" id="r_ad37db773efa3c8756f6d95df3862b875"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#ad37db773efa3c8756f6d95df3862b875">cEmbedded</a></td></tr>
- <tr class="memdesc:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="mdescLeft"> </td><td class="mdescRight">A large value that gets added to the refcount to mark the object as embedded. <br /></td></tr>
- <tr class="separator:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Class that constructs a <a class="el" href="class_height_field_shape.html">HeightFieldShape</a>. </p>
- </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a3bd65c794f1651b192e95a4fc7c60576" name="a3bd65c794f1651b192e95a4fc7c60576"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3bd65c794f1651b192e95a4fc7c60576">◆ </a></span>HeightFieldShapeSettings() <span class="overload">[1/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">HeightFieldShapeSettings::HeightFieldShapeSettings </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">default</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Default constructor for deserialization. </p>
- </div>
- </div>
- <a id="adf01e409660816defec790e752348cc0" name="adf01e409660816defec790e752348cc0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#adf01e409660816defec790e752348cc0">◆ </a></span>HeightFieldShapeSettings() <span class="overload">[2/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">HeightFieldShapeSettings::HeightFieldShapeSettings </td>
- <td>(</td>
- <td class="paramtype">const float *</td> <td class="paramname"><span class="paramname"><em>inSamples</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inOffset</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a></td> <td class="paramname"><span class="paramname"><em>inSampleCount</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="_core_8h.html#a115946cb5fc5879545e9ccea096a6031">uint8</a> *</td> <td class="paramname"><span class="paramname"><em>inMaterialIndices</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="_physics_material_8h.html#a70f625357e4695ae655c736059ac7154">PhysicsMaterialList</a> &</td> <td class="paramname"><span class="paramname"><em>inMaterialList</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="_physics_material_8h.html#a70f625357e4695ae655c736059ac7154">PhysicsMaterialList</a>()</span> )</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Create a height field shape of inSampleCount * inSampleCount vertices. The height field is a surface defined by: inOffset + inScale * (x, inSamples[y * inSampleCount + x], y). where x and y are integers in the range x and y e [0, inSampleCount - 1]. inSampleCount: inSampleCount / mBlockSize must be minimally 2 and a power of 2 is the most efficient in terms of performance and storage. inSamples: inSampleCount^2 vertices. inMaterialIndices: (inSampleCount - 1)^2 indices that index into inMaterialList. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="afa8076803d2d512fbe625d0eb9c90811" name="afa8076803d2d512fbe625d0eb9c90811"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afa8076803d2d512fbe625d0eb9c90811">◆ </a></span>CalculateBitsPerSampleForError()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> HeightFieldShapeSettings::CalculateBitsPerSampleForError </td>
- <td>(</td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxError</em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Given mBlockSize, mSampleCount and mHeightSamples, calculate the amount of bits needed to stay below absolute error inMaxError </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">inMaxError</td><td>Maximum allowed error in mHeightSamples after compression (note that this does not take mScale.Y into account) </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Needed bits per sample in the range [1, 8]. </dd></dl>
- </div>
- </div>
- <a id="aba3ca652ae38def1bcdc999738eb7b61" name="aba3ca652ae38def1bcdc999738eb7b61"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aba3ca652ae38def1bcdc999738eb7b61">◆ </a></span>Create()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_shape_settings.html#a8573ddc7722fadfc12bb16515d77254a">ShapeSettings::ShapeResult</a> HeightFieldShapeSettings::Create </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Create a shape according to the settings specified by this object. </p>
- <p>Implements <a class="el" href="class_shape_settings.html#a21e53b5758542a5527c7941d61d838fa">ShapeSettings</a>.</p>
- </div>
- </div>
- <a id="a461c9c2289620877314186af163ebf73" name="a461c9c2289620877314186af163ebf73"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a461c9c2289620877314186af163ebf73">◆ </a></span>DetermineMinAndMaxSample()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void HeightFieldShapeSettings::DetermineMinAndMaxSample </td>
- <td>(</td>
- <td class="paramtype">float &</td> <td class="paramname"><span class="paramname"><em>outMinValue</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float &</td> <td class="paramname"><span class="paramname"><em>outMaxValue</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float &</td> <td class="paramname"><span class="paramname"><em>outQuantizationScale</em></span> ) const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Determine the minimal and maximal value of mHeightSamples (will ignore cNoCollisionValue) </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">outMinValue</td><td>The minimal value of mHeightSamples or FLT_MAX if no samples have collision </td></tr>
- <tr><td class="paramname">outMaxValue</td><td>The maximal value of mHeightSamples or -FLT_MAX if no samples have collision </td></tr>
- <tr><td class="paramname">outQuantizationScale</td><td>(value - outMinValue) * outQuantizationScale quantizes a height sample to 16 bits </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a id="ac600befce41089e57309054090c889c8" name="ac600befce41089e57309054090c889c8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac600befce41089e57309054090c889c8">◆ </a></span>mActiveEdgeCosThresholdAngle</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float HeightFieldShapeSettings::mActiveEdgeCosThresholdAngle = 0.996195f</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Cosine of the threshold angle (if the angle between the two triangles is bigger than this, the edge is active, note that a concave edge is always inactive). Setting this value too small can cause ghost collisions with edges, setting it too big can cause depenetration artifacts (objects not depenetrating quickly). Valid ranges are between cos(0 degrees) and cos(90 degrees). The default value is cos(5 degrees). </p>
- </div>
- </div>
- <a id="a7f87d207da7948e2a36a22be55143ad0" name="a7f87d207da7948e2a36a22be55143ad0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7f87d207da7948e2a36a22be55143ad0">◆ </a></span>mBitsPerSample</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> HeightFieldShapeSettings::mBitsPerSample = 8</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>How many bits per sample to use to compress the height field. Can be in the range [1, 8]. Note that each sample is compressed relative to the min/max value of its block of mBlockSize * mBlockSize pixels so the effective precision is higher. Also note that increasing mBlockSize saves more memory than reducing the amount of bits per sample. </p>
- </div>
- </div>
- <a id="a8e99fb8a4d1444569a307ac2b9712e31" name="a8e99fb8a4d1444569a307ac2b9712e31"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8e99fb8a4d1444569a307ac2b9712e31">◆ </a></span>mBlockSize</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> HeightFieldShapeSettings::mBlockSize = 2</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The heightfield is divided in blocks of mBlockSize * mBlockSize * 2 triangles and the acceleration structure culls blocks only, bigger block sizes reduce memory consumption but also reduce query performance. Sensible values are [2, 8], does not need to be a power of 2. Note that at run-time we'll perform one more grid subdivision, so the effective block size is half of what is provided here. </p>
- </div>
- </div>
- <a id="a7e55509101c2c09001a431825ca0c82a" name="a7e55509101c2c09001a431825ca0c82a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7e55509101c2c09001a431825ca0c82a">◆ </a></span>mHeightSamples</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_array.html">Array</a><float> HeightFieldShapeSettings::mHeightSamples</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>An array of mSampleCount^2 height samples. Samples are stored in row major order, so the sample at (x, y) is at index y * mSampleCount + x. </p>
- </div>
- </div>
- <a id="aea730c5a9dc0ebbc614448d5b6187d00" name="aea730c5a9dc0ebbc614448d5b6187d00"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aea730c5a9dc0ebbc614448d5b6187d00">◆ </a></span>mMaterialIndices</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_array.html">Array</a><<a class="el" href="_core_8h.html#a115946cb5fc5879545e9ccea096a6031">uint8</a>> HeightFieldShapeSettings::mMaterialIndices</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>An array of (mSampleCount - 1)^2 material indices. </p>
- </div>
- </div>
- <a id="af9c4d464234b38f19df16faab06c6f38" name="af9c4d464234b38f19df16faab06c6f38"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af9c4d464234b38f19df16faab06c6f38">◆ </a></span>mMaterials</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_physics_material_8h.html#a70f625357e4695ae655c736059ac7154">PhysicsMaterialList</a> HeightFieldShapeSettings::mMaterials</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The materials of square at (x, y) is: mMaterials[mMaterialIndices[x + y * (mSampleCount - 1)]]. </p>
- </div>
- </div>
- <a id="a356d9e6fda2e3fca23239b77dd86d273" name="a356d9e6fda2e3fca23239b77dd86d273"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a356d9e6fda2e3fca23239b77dd86d273">◆ </a></span>mMaterialsCapacity</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> HeightFieldShapeSettings::mMaterialsCapacity = 0</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>When bigger than mMaterials.size() the internal material list will be preallocated to support this number of materials. This avoids reallocations when calling <a class="el" href="class_height_field_shape.html#adbd4df5017efbafc07c4187c8c6faf36">HeightFieldShape::SetMaterials</a> with new materials later. </p>
- </div>
- </div>
- <a id="a8851f44e1c36e194a1fa033c463fedb7" name="a8851f44e1c36e194a1fa033c463fedb7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8851f44e1c36e194a1fa033c463fedb7">◆ </a></span>mMaxHeightValue</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float HeightFieldShapeSettings::mMaxHeightValue = -cLargeFloat</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Artificial maximum value of mHeightSamples, used for compression and can be used to update the terrain after creating with higher height values. If there are any higher values in mHeightSamples, this value will be ignored. </p>
- </div>
- </div>
- <a id="a5a5666c8a5c77d89b4fd1f7fb555a96e" name="a5a5666c8a5c77d89b4fd1f7fb555a96e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5a5666c8a5c77d89b4fd1f7fb555a96e">◆ </a></span>mMinHeightValue</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float HeightFieldShapeSettings::mMinHeightValue = cLargeFloat</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Artificial minimal value of mHeightSamples, used for compression and can be used to update the terrain after creating with lower height values. If there are any lower values in mHeightSamples, this value will be ignored. </p>
- </div>
- </div>
- <a id="a7b2cbd09f2cd2d0c5d5381ab244a1d6a" name="a7b2cbd09f2cd2d0c5d5381ab244a1d6a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7b2cbd09f2cd2d0c5d5381ab244a1d6a">◆ </a></span>mOffset</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> HeightFieldShapeSettings::mOffset = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The height field is a surface defined by: mOffset + mScale * (x, mHeightSamples[y * mSampleCount + x], y). where x and y are integers in the range x and y e [0, mSampleCount - 1]. </p>
- </div>
- </div>
- <a id="a8028cb21d400d589b670f0a88d25e4b8" name="a8028cb21d400d589b670f0a88d25e4b8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8028cb21d400d589b670f0a88d25e4b8">◆ </a></span>mSampleCount</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> HeightFieldShapeSettings::mSampleCount = 0</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="abdaa8bfc9ee9392b6813519a989f089e" name="abdaa8bfc9ee9392b6813519a989f089e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#abdaa8bfc9ee9392b6813519a989f089e">◆ </a></span>mScale</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> HeightFieldShapeSettings::mScale = <a class="el" href="class_vec3.html#a6bc0731860c69d4e3151981d2dc24e93">Vec3::sOne</a>()</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li>Jolt/Physics/Collision/Shape/<a class="el" href="_height_field_shape_8h_source.html">HeightFieldShape.h</a></li>
- <li>Jolt/Physics/Collision/Shape/<a class="el" href="_height_field_shape_8cpp.html">HeightFieldShape.cpp</a></li>
- </ul>
- </div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="class_height_field_shape_settings.html">HeightFieldShapeSettings</a></li>
- <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
- </ul>
- </div>
- </body>
- </html>
|