<!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: b2Vec2 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> <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="structb2_vec2-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">b2Vec2 Struct Reference</div> </div> </div><!--header--> <div class="contents"> <p>A 2D column vector. <a href="structb2_vec2.html#details">More...</a></p> <p><code>#include <<a class="el" href="b2_math_8h_source.html">b2Math.h</a>></code></p> <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:a9171b31deb83af96872f99689939a12f"><td class="memItemLeft" align="right" valign="top"><a id="a9171b31deb83af96872f99689939a12f"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a9171b31deb83af96872f99689939a12f">b2Vec2</a> ()</td></tr> <tr class="memdesc:a9171b31deb83af96872f99689939a12f"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor does nothing (for performance). <br /></td></tr> <tr class="separator:a9171b31deb83af96872f99689939a12f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8a2f026420a84bbbc62f3a3de2041d6"><td class="memItemLeft" align="right" valign="top"><a id="aa8a2f026420a84bbbc62f3a3de2041d6"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#aa8a2f026420a84bbbc62f3a3de2041d6">b2Vec2</a> (float32 x, float32 y)</td></tr> <tr class="memdesc:aa8a2f026420a84bbbc62f3a3de2041d6"><td class="mdescLeft"> </td><td class="mdescRight">Construct using coordinates. <br /></td></tr> <tr class="separator:aa8a2f026420a84bbbc62f3a3de2041d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5c6cbe27cfb29c6dbb29b9a3285b88d0"><td class="memItemLeft" align="right" valign="top"><a id="a5c6cbe27cfb29c6dbb29b9a3285b88d0"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a5c6cbe27cfb29c6dbb29b9a3285b88d0">SetZero</a> ()</td></tr> <tr class="memdesc:a5c6cbe27cfb29c6dbb29b9a3285b88d0"><td class="mdescLeft"> </td><td class="mdescRight">Set this vector to all zeros. <br /></td></tr> <tr class="separator:a5c6cbe27cfb29c6dbb29b9a3285b88d0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d61640a645e470a50b451307d8e94c3"><td class="memItemLeft" align="right" valign="top"><a id="a4d61640a645e470a50b451307d8e94c3"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a4d61640a645e470a50b451307d8e94c3">Set</a> (float32 x_, float32 y_)</td></tr> <tr class="memdesc:a4d61640a645e470a50b451307d8e94c3"><td class="mdescLeft"> </td><td class="mdescRight">Set this vector to some specified coordinates. <br /></td></tr> <tr class="separator:a4d61640a645e470a50b451307d8e94c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6cb15514ea571b4ddf73b6829551a127"><td class="memItemLeft" align="right" valign="top"><a id="a6cb15514ea571b4ddf73b6829551a127"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a6cb15514ea571b4ddf73b6829551a127">operator-</a> () const</td></tr> <tr class="memdesc:a6cb15514ea571b4ddf73b6829551a127"><td class="mdescLeft"> </td><td class="mdescRight">Negate this vector. <br /></td></tr> <tr class="separator:a6cb15514ea571b4ddf73b6829551a127"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a543b5264d17df35448632071f8ae7e4d"><td class="memItemLeft" align="right" valign="top"><a id="a543b5264d17df35448632071f8ae7e4d"></a> float32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a543b5264d17df35448632071f8ae7e4d">operator()</a> (int32 i) const</td></tr> <tr class="memdesc:a543b5264d17df35448632071f8ae7e4d"><td class="mdescLeft"> </td><td class="mdescRight">Read from and indexed element. <br /></td></tr> <tr class="separator:a543b5264d17df35448632071f8ae7e4d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a50b39580d9f479e17b23ce3cb8efbac6"><td class="memItemLeft" align="right" valign="top"><a id="a50b39580d9f479e17b23ce3cb8efbac6"></a> float32 & </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a50b39580d9f479e17b23ce3cb8efbac6">operator()</a> (int32 i)</td></tr> <tr class="memdesc:a50b39580d9f479e17b23ce3cb8efbac6"><td class="mdescLeft"> </td><td class="mdescRight">Write to an indexed element. <br /></td></tr> <tr class="separator:a50b39580d9f479e17b23ce3cb8efbac6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a590789342e22ac1e7f9c1a63a2778b6d"><td class="memItemLeft" align="right" valign="top"><a id="a590789342e22ac1e7f9c1a63a2778b6d"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a590789342e22ac1e7f9c1a63a2778b6d">operator+=</a> (const <a class="el" href="structb2_vec2.html">b2Vec2</a> &v)</td></tr> <tr class="memdesc:a590789342e22ac1e7f9c1a63a2778b6d"><td class="mdescLeft"> </td><td class="mdescRight">Add a vector to this vector. <br /></td></tr> <tr class="separator:a590789342e22ac1e7f9c1a63a2778b6d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b48cab4695a979ae40b7613aedc8b17"><td class="memItemLeft" align="right" valign="top"><a id="a6b48cab4695a979ae40b7613aedc8b17"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a6b48cab4695a979ae40b7613aedc8b17">operator-=</a> (const <a class="el" href="structb2_vec2.html">b2Vec2</a> &v)</td></tr> <tr class="memdesc:a6b48cab4695a979ae40b7613aedc8b17"><td class="mdescLeft"> </td><td class="mdescRight">Subtract a vector from this vector. <br /></td></tr> <tr class="separator:a6b48cab4695a979ae40b7613aedc8b17"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7097696dce578322928f4535b34f1c6b"><td class="memItemLeft" align="right" valign="top"><a id="a7097696dce578322928f4535b34f1c6b"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a7097696dce578322928f4535b34f1c6b">operator*=</a> (float32 a)</td></tr> <tr class="memdesc:a7097696dce578322928f4535b34f1c6b"><td class="mdescLeft"> </td><td class="mdescRight">Multiply this vector by a scalar. <br /></td></tr> <tr class="separator:a7097696dce578322928f4535b34f1c6b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a04cb9ac9e845a59f4212b2d7149fa3d9"><td class="memItemLeft" align="right" valign="top"><a id="a04cb9ac9e845a59f4212b2d7149fa3d9"></a> float32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#a04cb9ac9e845a59f4212b2d7149fa3d9">Length</a> () const</td></tr> <tr class="memdesc:a04cb9ac9e845a59f4212b2d7149fa3d9"><td class="mdescLeft"> </td><td class="mdescRight">Get the length of this vector (the norm). <br /></td></tr> <tr class="separator:a04cb9ac9e845a59f4212b2d7149fa3d9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af8a081dac7eea7800fdbfbf95ac9e395"><td class="memItemLeft" align="right" valign="top">float32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#af8a081dac7eea7800fdbfbf95ac9e395">LengthSquared</a> () const</td></tr> <tr class="separator:af8a081dac7eea7800fdbfbf95ac9e395"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adda78c92f318fe53d8a53f9b5cfd8e41"><td class="memItemLeft" align="right" valign="top"><a id="adda78c92f318fe53d8a53f9b5cfd8e41"></a> float32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#adda78c92f318fe53d8a53f9b5cfd8e41">Normalize</a> ()</td></tr> <tr class="memdesc:adda78c92f318fe53d8a53f9b5cfd8e41"><td class="mdescLeft"> </td><td class="mdescRight">Convert this vector into a unit vector. Returns the length. <br /></td></tr> <tr class="separator:adda78c92f318fe53d8a53f9b5cfd8e41"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abad59bf9a0269f02cda9dc919592c0ee"><td class="memItemLeft" align="right" valign="top"><a id="abad59bf9a0269f02cda9dc919592c0ee"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#abad59bf9a0269f02cda9dc919592c0ee">IsValid</a> () const</td></tr> <tr class="memdesc:abad59bf9a0269f02cda9dc919592c0ee"><td class="mdescLeft"> </td><td class="mdescRight">Does this vector contain finite coordinates? <br /></td></tr> <tr class="separator:abad59bf9a0269f02cda9dc919592c0ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf36e082a20368b24edb635511872a74"><td class="memItemLeft" align="right" valign="top"><a id="aaf36e082a20368b24edb635511872a74"></a> <a class="el" href="structb2_vec2.html">b2Vec2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structb2_vec2.html#aaf36e082a20368b24edb635511872a74">Skew</a> () const</td></tr> <tr class="memdesc:aaf36e082a20368b24edb635511872a74"><td class="mdescLeft"> </td><td class="mdescRight">Get the skew vector such that dot(skew_vec, other) == cross(vec, other) <br /></td></tr> <tr class="separator:aaf36e082a20368b24edb635511872a74"><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:a07021c1c08c547868e3cce9c9ef2ea71"><td class="memItemLeft" align="right" valign="top"><a id="a07021c1c08c547868e3cce9c9ef2ea71"></a> float32 </td><td class="memItemRight" valign="bottom"><b>x</b></td></tr> <tr class="separator:a07021c1c08c547868e3cce9c9ef2ea71"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a880f573a9efe402ec207e9d132cb2a43"><td class="memItemLeft" align="right" valign="top"><a id="a880f573a9efe402ec207e9d132cb2a43"></a> float32 </td><td class="memItemRight" valign="bottom"><b>y</b></td></tr> <tr class="separator:a880f573a9efe402ec207e9d132cb2a43"><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 2D column vector. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="af8a081dac7eea7800fdbfbf95ac9e395"></a> <h2 class="memtitle"><span class="permalink"><a href="#af8a081dac7eea7800fdbfbf95ac9e395">◆ </a></span>LengthSquared()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">float32 b2Vec2::LengthSquared </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">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Get the length squared. For performance, use this instead of <a class="el" href="structb2_vec2.html#a04cb9ac9e845a59f4212b2d7149fa3d9" title="Get the length of this vector (the norm). ">b2Vec2::Length</a> (if possible). </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="b2_math_8h_source.html">b2Math.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Sep 21 2018 22:35:09 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>