<!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: b2PolygonShape 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_polygon_shape-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">b2PolygonShape Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="b2_polygon_shape_8h_source.html">b2PolygonShape.h</a>></code></p> <div class="dynheader"> Inheritance diagram for b2PolygonShape:</div> <div class="dyncontent"> <div class="center"> <img src="classb2_polygon_shape.png" usemap="#b2PolygonShape_map" alt=""/> <map id="b2PolygonShape_map" name="b2PolygonShape_map"> <area href="classb2_shape.html" alt="b2Shape" shape="rect" coords="0,0,108,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:a0a15ecf0b3710e265d2a8d385d9c36f0"><td class="memItemLeft" align="right" valign="top"><a id="a0a15ecf0b3710e265d2a8d385d9c36f0"></a> <a class="el" href="classb2_shape.html">b2Shape</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a0a15ecf0b3710e265d2a8d385d9c36f0">Clone</a> (<a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator) const</td></tr> <tr class="memdesc:a0a15ecf0b3710e265d2a8d385d9c36f0"><td class="mdescLeft"> </td><td class="mdescRight">Implement <a class="el" href="classb2_shape.html">b2Shape</a>. <br /></td></tr> <tr class="separator:a0a15ecf0b3710e265d2a8d385d9c36f0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8fba2b51d81111b7e681768093ac197"><td class="memItemLeft" align="right" valign="top">int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#aa8fba2b51d81111b7e681768093ac197">GetChildCount</a> () const</td></tr> <tr class="separator:aa8fba2b51d81111b7e681768093ac197"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d7b35550509f570814b97325a68966b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a4d7b35550509f570814b97325a68966b">Set</a> (const <a class="el" href="structb2_vec2.html">b2Vec2</a> *points, int32 count)</td></tr> <tr class="separator:a4d7b35550509f570814b97325a68966b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6bb90df8b4a40d1c53b64cc352a855dd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a6bb90df8b4a40d1c53b64cc352a855dd">SetAsBox</a> (float32 hx, float32 hy)</td></tr> <tr class="separator:a6bb90df8b4a40d1c53b64cc352a855dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a890690250115483da6c7d69829be087e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a890690250115483da6c7d69829be087e">SetAsBox</a> (float32 hx, float32 hy, const <a class="el" href="structb2_vec2.html">b2Vec2</a> &center, float32 angle)</td></tr> <tr class="separator:a890690250115483da6c7d69829be087e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1e70b4546c997628bbc8eeffe55c2423"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a1e70b4546c997628bbc8eeffe55c2423">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:a1e70b4546c997628bbc8eeffe55c2423"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a96b12c243a2ed1db4a965b93736622da"><td class="memItemLeft" align="right" valign="top"><a id="a96b12c243a2ed1db4a965b93736622da"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a96b12c243a2ed1db4a965b93736622da">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:a96b12c243a2ed1db4a965b93736622da"><td class="mdescLeft"> </td><td class="mdescRight">Implement <a class="el" href="classb2_shape.html">b2Shape</a>. <br /></td></tr> <tr class="separator:a96b12c243a2ed1db4a965b93736622da"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a01f0739b15f657a355f1f4525e75dbfe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a01f0739b15f657a355f1f4525e75dbfe">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:a01f0739b15f657a355f1f4525e75dbfe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a33e75858a1b9e26fdf7f723825cda878"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a33e75858a1b9e26fdf7f723825cda878">ComputeMass</a> (<a class="el" href="structb2_mass_data.html">b2MassData</a> *massData, float32 density) const</td></tr> <tr class="separator:a33e75858a1b9e26fdf7f723825cda878"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1531f99f9dcab03929ea08beb3a79631"><td class="memItemLeft" align="right" valign="top"><a id="a1531f99f9dcab03929ea08beb3a79631"></a> int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a1531f99f9dcab03929ea08beb3a79631">GetVertexCount</a> () const</td></tr> <tr class="memdesc:a1531f99f9dcab03929ea08beb3a79631"><td class="mdescLeft"> </td><td class="mdescRight">Get the vertex count. <br /></td></tr> <tr class="separator:a1531f99f9dcab03929ea08beb3a79631"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12710c5caa9134f0af11f37dbedbd409"><td class="memItemLeft" align="right" valign="top"><a id="a12710c5caa9134f0af11f37dbedbd409"></a> const <a class="el" href="structb2_vec2.html">b2Vec2</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a12710c5caa9134f0af11f37dbedbd409">GetVertex</a> (int32 index) const</td></tr> <tr class="memdesc:a12710c5caa9134f0af11f37dbedbd409"><td class="mdescLeft"> </td><td class="mdescRight">Get a vertex by index. <br /></td></tr> <tr class="separator:a12710c5caa9134f0af11f37dbedbd409"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a135f4c20e17f10479e08f7befbd4d1f0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_polygon_shape.html#a135f4c20e17f10479e08f7befbd4d1f0">Validate</a> () const</td></tr> <tr class="separator:a135f4c20e17f10479e08f7befbd4d1f0"><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:ae8f5bd2f13f1e9b741c33350ba19cd9f"><td class="memItemLeft" align="right" valign="top"><a id="ae8f5bd2f13f1e9b741c33350ba19cd9f"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><b>m_centroid</b></td></tr> <tr class="separator:ae8f5bd2f13f1e9b741c33350ba19cd9f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11ee5c107660be5da25f0e164aaccd53"><td class="memItemLeft" align="right" valign="top"><a id="a11ee5c107660be5da25f0e164aaccd53"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><b>m_vertices</b> [<a class="el" href="b2_settings_8h.html#a09d71ee1993bee28b5b2e6d893b41884">b2_maxPolygonVertices</a>]</td></tr> <tr class="separator:a11ee5c107660be5da25f0e164aaccd53"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97cdcec277321c62ecdf93cb649958ce"><td class="memItemLeft" align="right" valign="top"><a id="a97cdcec277321c62ecdf93cb649958ce"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><b>m_normals</b> [<a class="el" href="b2_settings_8h.html#a09d71ee1993bee28b5b2e6d893b41884">b2_maxPolygonVertices</a>]</td></tr> <tr class="separator:a97cdcec277321c62ecdf93cb649958ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2c8cfdc15267f282e66f7bda7369b79f"><td class="memItemLeft" align="right" valign="top"><a id="a2c8cfdc15267f282e66f7bda7369b79f"></a> int32 </td><td class="memItemRight" valign="bottom"><b>m_count</b></td></tr> <tr class="separator:a2c8cfdc15267f282e66f7bda7369b79f"><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 convex polygon. It is assumed that the interior of the polygon is to the left of each edge. Polygons have a maximum number of vertices equal to b2_maxPolygonVertices. In most cases you should not need many vertices for a convex polygon. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="a01f0739b15f657a355f1f4525e75dbfe"></a> <h2 class="memtitle"><span class="permalink"><a href="#a01f0739b15f657a355f1f4525e75dbfe">◆ </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 b2PolygonShape::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="a33e75858a1b9e26fdf7f723825cda878"></a> <h2 class="memtitle"><span class="permalink"><a href="#a33e75858a1b9e26fdf7f723825cda878">◆ </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 b2PolygonShape::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="aa8fba2b51d81111b7e681768093ac197"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa8fba2b51d81111b7e681768093ac197">◆ </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 b2PolygonShape::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="a4d7b35550509f570814b97325a68966b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4d7b35550509f570814b97325a68966b">◆ </a></span>Set()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void b2PolygonShape::Set </td> <td>(</td> <td class="paramtype">const <a class="el" href="structb2_vec2.html">b2Vec2</a> * </td> <td class="paramname"><em>points</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32 </td> <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Create a convex hull from the given array of local points. The count must be in the range [3, b2_maxPolygonVertices]. </p><dl class="section warning"><dt>Warning</dt><dd>the points may be re-ordered, even if they form a convex polygon </dd> <dd> collinear points are handled but not removed. Collinear points may lead to poor stacking behavior. </dd></dl> </div> </div> <a id="a6bb90df8b4a40d1c53b64cc352a855dd"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6bb90df8b4a40d1c53b64cc352a855dd">◆ </a></span>SetAsBox() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void b2PolygonShape::SetAsBox </td> <td>(</td> <td class="paramtype">float32 </td> <td class="paramname"><em>hx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float32 </td> <td class="paramname"><em>hy</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Build vertices to represent an axis-aligned box centered on the local origin. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hx</td><td>the half-width. </td></tr> <tr><td class="paramname">hy</td><td>the half-height. </td></tr> </table> </dd> </dl> </div> </div> <a id="a890690250115483da6c7d69829be087e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a890690250115483da6c7d69829be087e">◆ </a></span>SetAsBox() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void b2PolygonShape::SetAsBox </td> <td>(</td> <td class="paramtype">float32 </td> <td class="paramname"><em>hx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float32 </td> <td class="paramname"><em>hy</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>center</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float32 </td> <td class="paramname"><em>angle</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Build vertices to represent an oriented box. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hx</td><td>the half-width. </td></tr> <tr><td class="paramname">hy</td><td>the half-height. </td></tr> <tr><td class="paramname">center</td><td>the center of the box in local coordinates. </td></tr> <tr><td class="paramname">angle</td><td>the rotation of the box in local coordinates. </td></tr> </table> </dd> </dl> </div> </div> <a id="a1e70b4546c997628bbc8eeffe55c2423"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1e70b4546c997628bbc8eeffe55c2423">◆ </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 b2PolygonShape::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> <a id="a135f4c20e17f10479e08f7befbd4d1f0"></a> <h2 class="memtitle"><span class="permalink"><a href="#a135f4c20e17f10479e08f7befbd4d1f0">◆ </a></span>Validate()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool b2PolygonShape::Validate </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Validate convexity. This is a very time consuming operation. </p><dl class="section return"><dt>Returns</dt><dd>true if valid </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="b2_polygon_shape_8h_source.html">b2PolygonShape.h</a></li> <li>b2PolygonShape.cpp</li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Sep 21 2018 22:35:08 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>