<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Box2D: b2EdgeShape 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> <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> <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 style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="icon.gif"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Box2D  <span id="projectnumber">2.3.0</span> </div> <div id="projectbrief">A 2D Physics Engine for Games</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> <!-- 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"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="classb2_edge_shape-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">b2EdgeShape Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="b2_edge_shape_8h_source.html">b2EdgeShape.h</a>></code></p> <div class="dynheader"> Inheritance diagram for b2EdgeShape:</div> <div class="dyncontent"> <div class="center"> <img src="classb2_edge_shape.png" usemap="#b2EdgeShape_map" alt=""/> <map id="b2EdgeShape_map" name="b2EdgeShape_map"> <area href="classb2_shape.html" alt="b2Shape" shape="rect" coords="0,0,91,24"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a67dd3b17630a600033cb4380697a4e9d"><td class="memItemLeft" align="right" valign="top"><a id="a67dd3b17630a600033cb4380697a4e9d"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a67dd3b17630a600033cb4380697a4e9d">Set</a> (const <a class="el" href="structb2_vec2.html">b2Vec2</a> &v1, const <a class="el" href="structb2_vec2.html">b2Vec2</a> &v2)</td></tr> <tr class="memdesc:a67dd3b17630a600033cb4380697a4e9d"><td class="mdescLeft"> </td><td class="mdescRight">Set this as an isolated edge. <br /></td></tr> <tr class="separator:a67dd3b17630a600033cb4380697a4e9d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a229e0def3c01ae900fedb0cdeb275d39"><td class="memItemLeft" align="right" valign="top"><a id="a229e0def3c01ae900fedb0cdeb275d39"></a> <a class="el" href="classb2_shape.html">b2Shape</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a229e0def3c01ae900fedb0cdeb275d39">Clone</a> (<a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator) const</td></tr> <tr class="memdesc:a229e0def3c01ae900fedb0cdeb275d39"><td class="mdescLeft"> </td><td class="mdescRight">Implement <a class="el" href="classb2_shape.html">b2Shape</a>. <br /></td></tr> <tr class="separator:a229e0def3c01ae900fedb0cdeb275d39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab675660fbb4a21dc5c89a97a5822f357"><td class="memItemLeft" align="right" valign="top">int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#ab675660fbb4a21dc5c89a97a5822f357">GetChildCount</a> () const</td></tr> <tr class="separator:ab675660fbb4a21dc5c89a97a5822f357"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a23a429c4cf919ff5140ca28b53db43fe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a23a429c4cf919ff5140ca28b53db43fe">TestPoint</a> (const <a class="el" href="structb2_transform.html">b2Transform</a> &transform, const <a class="el" href="structb2_vec2.html">b2Vec2</a> &p) const</td></tr> <tr class="separator:a23a429c4cf919ff5140ca28b53db43fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a61b1c32765913e6066ef797a5b7f2256"><td class="memItemLeft" align="right" valign="top"><a id="a61b1c32765913e6066ef797a5b7f2256"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a61b1c32765913e6066ef797a5b7f2256">RayCast</a> (<a class="el" href="structb2_ray_cast_output.html">b2RayCastOutput</a> *output, const <a class="el" href="structb2_ray_cast_input.html">b2RayCastInput</a> &input, const <a class="el" href="structb2_transform.html">b2Transform</a> &transform, int32 childIndex) const</td></tr> <tr class="memdesc:a61b1c32765913e6066ef797a5b7f2256"><td class="mdescLeft"> </td><td class="mdescRight">Implement <a class="el" href="classb2_shape.html">b2Shape</a>. <br /></td></tr> <tr class="separator:a61b1c32765913e6066ef797a5b7f2256"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5dfd37551fa381767374faf0df79c6af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a5dfd37551fa381767374faf0df79c6af">ComputeAABB</a> (<a class="el" href="structb2_a_a_b_b.html">b2AABB</a> *aabb, const <a class="el" href="structb2_transform.html">b2Transform</a> &transform, int32 childIndex) const</td></tr> <tr class="separator:a5dfd37551fa381767374faf0df79c6af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1cd695882766566f76bb0fedf346407d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a1cd695882766566f76bb0fedf346407d">ComputeMass</a> (<a class="el" href="structb2_mass_data.html">b2MassData</a> *massData, float32 density) const</td></tr> <tr class="separator:a1cd695882766566f76bb0fedf346407d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classb2_shape"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classb2_shape')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classb2_shape.html">b2Shape</a></td></tr> <tr class="memitem:a600cceee6186d81bb1b8ab142324bba6 inherit pub_methods_classb2_shape"><td class="memItemLeft" align="right" valign="top">Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_shape.html#a600cceee6186d81bb1b8ab142324bba6">GetType</a> () const</td></tr> <tr class="separator:a600cceee6186d81bb1b8ab142324bba6 inherit pub_methods_classb2_shape"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a916cf02a752ff1a70db35b2edaf19bb4"><td class="memItemLeft" align="right" valign="top"><a id="a916cf02a752ff1a70db35b2edaf19bb4"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a916cf02a752ff1a70db35b2edaf19bb4">m_vertex1</a></td></tr> <tr class="memdesc:a916cf02a752ff1a70db35b2edaf19bb4"><td class="mdescLeft"> </td><td class="mdescRight">These are the edge vertices. <br /></td></tr> <tr class="separator:a916cf02a752ff1a70db35b2edaf19bb4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa218bfe2bf135e4e94028b29aaa32fce"><td class="memItemLeft" align="right" valign="top"><a id="aa218bfe2bf135e4e94028b29aaa32fce"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><b>m_vertex2</b></td></tr> <tr class="separator:aa218bfe2bf135e4e94028b29aaa32fce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a907c9829484cc1ba7527ab368e9fdf93"><td class="memItemLeft" align="right" valign="top"><a id="a907c9829484cc1ba7527ab368e9fdf93"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_edge_shape.html#a907c9829484cc1ba7527ab368e9fdf93">m_vertex0</a></td></tr> <tr class="memdesc:a907c9829484cc1ba7527ab368e9fdf93"><td class="mdescLeft"> </td><td class="mdescRight">Optional adjacent vertices. These are used for smooth collision. <br /></td></tr> <tr class="separator:a907c9829484cc1ba7527ab368e9fdf93"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7991fd8b38806a7785748cd991c18452"><td class="memItemLeft" align="right" valign="top"><a id="a7991fd8b38806a7785748cd991c18452"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><b>m_vertex3</b></td></tr> <tr class="separator:a7991fd8b38806a7785748cd991c18452"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1d0f39259f0963146b343d6b048f3f8a"><td class="memItemLeft" align="right" valign="top"><a id="a1d0f39259f0963146b343d6b048f3f8a"></a> bool </td><td class="memItemRight" valign="bottom"><b>m_hasVertex0</b></td></tr> <tr class="separator:a1d0f39259f0963146b343d6b048f3f8a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afeb0dfac66fe677ccd765d48610fa56f"><td class="memItemLeft" align="right" valign="top"><a id="afeb0dfac66fe677ccd765d48610fa56f"></a> bool </td><td class="memItemRight" valign="bottom"><b>m_hasVertex3</b></td></tr> <tr class="separator:afeb0dfac66fe677ccd765d48610fa56f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_attribs_classb2_shape"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classb2_shape')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="classb2_shape.html">b2Shape</a></td></tr> <tr class="memitem:adb051791133b24f53c6e9a565a7b7bbb inherit pub_attribs_classb2_shape"><td class="memItemLeft" align="right" valign="top"><a id="adb051791133b24f53c6e9a565a7b7bbb"></a> Type </td><td class="memItemRight" valign="bottom"><b>m_type</b></td></tr> <tr class="separator:adb051791133b24f53c6e9a565a7b7bbb inherit pub_attribs_classb2_shape"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5de7a9bd3f9e72ef7025a65c304aaf1a inherit pub_attribs_classb2_shape"><td class="memItemLeft" align="right" valign="top"><a id="a5de7a9bd3f9e72ef7025a65c304aaf1a"></a> float32 </td><td class="memItemRight" valign="bottom"><b>m_radius</b></td></tr> <tr class="separator:a5de7a9bd3f9e72ef7025a65c304aaf1a inherit pub_attribs_classb2_shape"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a> Additional Inherited Members</h2></td></tr> <tr class="inherit_header pub_types_classb2_shape"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classb2_shape')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classb2_shape.html">b2Shape</a></td></tr> <tr class="memitem:a4c1f3a9ad6b3150bb90ad9018ca4b1e0 inherit pub_types_classb2_shape"><td class="memItemLeft" align="right" valign="top"><a id="a4c1f3a9ad6b3150bb90ad9018ca4b1e0"></a>enum  </td><td class="memItemRight" valign="bottom"><b>Type</b> { <br />   <b>e_circle</b> = 0, <b>e_edge</b> = 1, <b>e_polygon</b> = 2, <b>e_chain</b> = 3, <br />   <b>e_typeCount</b> = 4 <br /> }</td></tr> <tr class="separator:a4c1f3a9ad6b3150bb90ad9018ca4b1e0 inherit pub_types_classb2_shape"><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 line segment (edge) shape. These can be connected in chains or loops to other edge shapes. The connectivity information is used to ensure correct contact normals. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="a5dfd37551fa381767374faf0df79c6af"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5dfd37551fa381767374faf0df79c6af">◆ </a></span>ComputeAABB()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void b2EdgeShape::ComputeAABB </td> <td>(</td> <td class="paramtype"><a class="el" href="structb2_a_a_b_b.html">b2AABB</a> * </td> <td class="paramname"><em>aabb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structb2_transform.html">b2Transform</a> & </td> <td class="paramname"><em>transform</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32 </td> <td class="paramname"><em>childIndex</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classb2_shape.html#a88e9807fab0c8ca9a98d8926e50a1411">b2Shape::ComputeAABB</a> </dd></dl> <p>Implements <a class="el" href="classb2_shape.html#a88e9807fab0c8ca9a98d8926e50a1411">b2Shape</a>.</p> </div> </div> <a id="a1cd695882766566f76bb0fedf346407d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1cd695882766566f76bb0fedf346407d">◆ </a></span>ComputeMass()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void b2EdgeShape::ComputeMass </td> <td>(</td> <td class="paramtype"><a class="el" href="structb2_mass_data.html">b2MassData</a> * </td> <td class="paramname"><em>massData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float32 </td> <td class="paramname"><em>density</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classb2_shape.html#a61b365526241b47f124789b0309cac69">b2Shape::ComputeMass</a> </dd></dl> <p>Implements <a class="el" href="classb2_shape.html#a61b365526241b47f124789b0309cac69">b2Shape</a>.</p> </div> </div> <a id="ab675660fbb4a21dc5c89a97a5822f357"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab675660fbb4a21dc5c89a97a5822f357">◆ </a></span>GetChildCount()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int32 b2EdgeShape::GetChildCount </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classb2_shape.html#a05a3c445017d96df9238ceefe6ce37ab" title="Get the number of child primitives. ">b2Shape::GetChildCount</a> </dd></dl> <p>Implements <a class="el" href="classb2_shape.html#a05a3c445017d96df9238ceefe6ce37ab">b2Shape</a>.</p> </div> </div> <a id="a23a429c4cf919ff5140ca28b53db43fe"></a> <h2 class="memtitle"><span class="permalink"><a href="#a23a429c4cf919ff5140ca28b53db43fe">◆ </a></span>TestPoint()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool b2EdgeShape::TestPoint </td> <td>(</td> <td class="paramtype">const <a class="el" href="structb2_transform.html">b2Transform</a> & </td> <td class="paramname"><em>transform</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structb2_vec2.html">b2Vec2</a> & </td> <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classb2_shape.html#a6ac968e403e2d93e8ae46d728a2e50fa">b2Shape::TestPoint</a> </dd></dl> <p>Implements <a class="el" href="classb2_shape.html#a6ac968e403e2d93e8ae46d728a2e50fa">b2Shape</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="b2_edge_shape_8h_source.html">b2EdgeShape.h</a></li> <li>b2EdgeShape.cpp</li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Sep 21 2018 22:35:07 for Box2D by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>