| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- <!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: SoftBodySharedSettings::RodStretchShear Struct 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('struct_soft_body_shared_settings_1_1_rod_stretch_shear.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="struct_soft_body_shared_settings_1_1_rod_stretch_shear-members.html">List of all members</a> </div>
- <div class="headertitle"><div class="title">SoftBodySharedSettings::RodStretchShear Struct Reference</div></div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <<a class="el" href="_soft_body_shared_settings_8h_source.html">SoftBodySharedSettings.h</a>></code></p>
- <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:a0eabeb5a47a794616c41283fed76010a" id="r_a0eabeb5a47a794616c41283fed76010a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0eabeb5a47a794616c41283fed76010a">RodStretchShear</a> ()=default</td></tr>
- <tr class="memdesc:a0eabeb5a47a794616c41283fed76010a"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br /></td></tr>
- <tr class="separator:a0eabeb5a47a794616c41283fed76010a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abba9a16f2070373e65322cf52124402f" id="r_abba9a16f2070373e65322cf52124402f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#abba9a16f2070373e65322cf52124402f">RodStretchShear</a> (<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inVertex1, <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inVertex2, float inCompliance=0.0f)</td></tr>
- <tr class="separator:abba9a16f2070373e65322cf52124402f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac0d05703f78d008ce04083a1f9741568" id="r_ac0d05703f78d008ce04083a1f9741568"><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="#ac0d05703f78d008ce04083a1f9741568">GetMinVertexIndex</a> () const</td></tr>
- <tr class="memdesc:ac0d05703f78d008ce04083a1f9741568"><td class="mdescLeft"> </td><td class="mdescRight">Return the lowest vertex index of this constraint. <br /></td></tr>
- <tr class="separator:ac0d05703f78d008ce04083a1f9741568"><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:a911376c4d3e8487d772a6f527fd0df42" id="r_a911376c4d3e8487d772a6f527fd0df42"><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="#a911376c4d3e8487d772a6f527fd0df42">mVertex</a> [2]</td></tr>
- <tr class="memdesc:a911376c4d3e8487d772a6f527fd0df42"><td class="mdescLeft"> </td><td class="mdescRight">Indices of the vertices that form the rod. <br /></td></tr>
- <tr class="separator:a911376c4d3e8487d772a6f527fd0df42"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a65a7a1d1aa99a06a0d5ccc476ba71c43" id="r_a65a7a1d1aa99a06a0d5ccc476ba71c43"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a65a7a1d1aa99a06a0d5ccc476ba71c43">mLength</a> = 1.0f</td></tr>
- <tr class="memdesc:a65a7a1d1aa99a06a0d5ccc476ba71c43"><td class="mdescLeft"> </td><td class="mdescRight">Fixed length of the rod, calculated by CalculateRodProperties. <br /></td></tr>
- <tr class="separator:a65a7a1d1aa99a06a0d5ccc476ba71c43"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af5a2328e96752c4749c3c581ccf0b5fe" id="r_af5a2328e96752c4749c3c581ccf0b5fe"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#af5a2328e96752c4749c3c581ccf0b5fe">mInvMass</a> = 1.0f</td></tr>
- <tr class="memdesc:af5a2328e96752c4749c3c581ccf0b5fe"><td class="mdescLeft"> </td><td class="mdescRight">Inverse of the mass of the rod (0 for static rods), calculated by CalculateRodProperties but can be overridden afterwards. <br /></td></tr>
- <tr class="separator:af5a2328e96752c4749c3c581ccf0b5fe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a02a603803bc3d9fda1af73c321be23fe" id="r_a02a603803bc3d9fda1af73c321be23fe"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#a02a603803bc3d9fda1af73c321be23fe">mCompliance</a> = 0.0f</td></tr>
- <tr class="memdesc:a02a603803bc3d9fda1af73c321be23fe"><td class="mdescLeft"> </td><td class="mdescRight">Inverse of the stiffness of the rod. <br /></td></tr>
- <tr class="separator:a02a603803bc3d9fda1af73c321be23fe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a87a389e4c506510aab1f3324c3112051" id="r_a87a389e4c506510aab1f3324c3112051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_quat.html">Quat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a87a389e4c506510aab1f3324c3112051">mBishop</a> = <a class="el" href="class_quat.html#aed30764b796cee2d0169b126c3839bc1">Quat::sZero</a>()</td></tr>
- <tr class="memdesc:a87a389e4c506510aab1f3324c3112051"><td class="mdescLeft"> </td><td class="mdescRight">The Bishop frame of the rod (the rotation of the rod in its rest pose so that it has zero twist towards adjacent rods), calculated by CalculateRodProperties. <br /></td></tr>
- <tr class="separator:a87a389e4c506510aab1f3324c3112051"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>A discrete Cosserat rod connects two particles with a rigid rod that has fixed length and inertia. A rod can be used instead of an <a class="el" href="struct_soft_body_shared_settings_1_1_edge.html" title="An edge keeps two vertices at a constant distance using a spring: |x1 - x2| = rest length.">Edge</a> to constraint two vertices. The orientation of the rod can be used to orient geometry attached to the rod (e.g. a plant leaf). Note that each rod needs to be constrained by at least one <a class="el" href="struct_soft_body_shared_settings_1_1_rod_bend_twist.html" title="A constraint that connects two Cosserat rods and limits bend and twist between the rods.">RodBendTwist</a> constraint in order to constrain the rotation of the rod. If you don't do this then the orientation is likely to rotate around the rod axis with constant velocity. Based on "Position and Orientation Based Cosserat Rods" - Kugelstadt and Schoemer - SIGGRAPH 2016 See: <a href="https://www.researchgate.net/publication/325597548_Position_and_Orientation_Based_Cosserat_Rods">https://www.researchgate.net/publication/325597548_Position_and_Orientation_Based_Cosserat_Rods</a> </p>
- </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a0eabeb5a47a794616c41283fed76010a" name="a0eabeb5a47a794616c41283fed76010a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0eabeb5a47a794616c41283fed76010a">◆ </a></span>RodStretchShear() <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">SoftBodySharedSettings::RodStretchShear::RodStretchShear </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>Constructor. </p>
- </div>
- </div>
- <a id="abba9a16f2070373e65322cf52124402f" name="abba9a16f2070373e65322cf52124402f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#abba9a16f2070373e65322cf52124402f">◆ </a></span>RodStretchShear() <span class="overload">[2/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">SoftBodySharedSettings::RodStretchShear::RodStretchShear </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a></td> <td class="paramname"><span class="paramname"><em>inVertex1</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>inVertex2</em></span>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inCompliance</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0.0f</span> )</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="ac0d05703f78d008ce04083a1f9741568" name="ac0d05703f78d008ce04083a1f9741568"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac0d05703f78d008ce04083a1f9741568">◆ </a></span>GetMinVertexIndex()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SoftBodySharedSettings::RodStretchShear::GetMinVertexIndex </td>
- <td>(</td>
- <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Return the lowest vertex index of this constraint. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a id="a87a389e4c506510aab1f3324c3112051" name="a87a389e4c506510aab1f3324c3112051"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a87a389e4c506510aab1f3324c3112051">◆ </a></span>mBishop</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_quat.html">Quat</a> SoftBodySharedSettings::RodStretchShear::mBishop = <a class="el" href="class_quat.html#aed30764b796cee2d0169b126c3839bc1">Quat::sZero</a>()</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The Bishop frame of the rod (the rotation of the rod in its rest pose so that it has zero twist towards adjacent rods), calculated by CalculateRodProperties. </p>
- </div>
- </div>
- <a id="a02a603803bc3d9fda1af73c321be23fe" name="a02a603803bc3d9fda1af73c321be23fe"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a02a603803bc3d9fda1af73c321be23fe">◆ </a></span>mCompliance</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float SoftBodySharedSettings::RodStretchShear::mCompliance = 0.0f</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Inverse of the stiffness of the rod. </p>
- </div>
- </div>
- <a id="af5a2328e96752c4749c3c581ccf0b5fe" name="af5a2328e96752c4749c3c581ccf0b5fe"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af5a2328e96752c4749c3c581ccf0b5fe">◆ </a></span>mInvMass</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float SoftBodySharedSettings::RodStretchShear::mInvMass = 1.0f</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Inverse of the mass of the rod (0 for static rods), calculated by CalculateRodProperties but can be overridden afterwards. </p>
- </div>
- </div>
- <a id="a65a7a1d1aa99a06a0d5ccc476ba71c43" name="a65a7a1d1aa99a06a0d5ccc476ba71c43"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a65a7a1d1aa99a06a0d5ccc476ba71c43">◆ </a></span>mLength</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float SoftBodySharedSettings::RodStretchShear::mLength = 1.0f</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Fixed length of the rod, calculated by CalculateRodProperties. </p>
- </div>
- </div>
- <a id="a911376c4d3e8487d772a6f527fd0df42" name="a911376c4d3e8487d772a6f527fd0df42"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a911376c4d3e8487d772a6f527fd0df42">◆ </a></span>mVertex</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> SoftBodySharedSettings::RodStretchShear::mVertex[2]</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Indices of the vertices that form the rod. </p>
- </div>
- </div>
- <hr/>The documentation for this struct was generated from the following file:<ul>
- <li>Jolt/Physics/SoftBody/<a class="el" href="_soft_body_shared_settings_8h_source.html">SoftBodySharedSettings.h</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_soft_body_shared_settings.html">SoftBodySharedSettings</a></li><li class="navelem"><a class="el" href="struct_soft_body_shared_settings_1_1_rod_stretch_shear.html">RodStretchShear</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>
|