chipmunk-rs 0.1.1

Rust bindings to the Chipmunk2D physics engine.
<!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.3.1"/>
<title>Chipmunk2D Pro API Reference: cpVect</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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
   <div id="projectname">Chipmunk2D Pro API Reference
   &#160;<span id="projectnumber">7.0.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></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 class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">cpVect</div>  </div>
</div><!--header-->
<div class="contents">

<p>Chipmunk's 2D vector type along with a handy 2D vector math lib.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga80c0be464748ff46ad20b58e22ea7d81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga80c0be464748ff46ad20b58e22ea7d81"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga80c0be464748ff46ad20b58e22ea7d81">cpv</a> (const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> x, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> y)</td></tr>
<tr class="memdesc:ga80c0be464748ff46ad20b58e22ea7d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience constructor for <a class="el" href="structcp_vect.html">cpVect</a> structs. <br/></td></tr>
<tr class="separator:ga80c0be464748ff46ad20b58e22ea7d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5081f933bcc2c64c76d7e7caaf2d631"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae5081f933bcc2c64c76d7e7caaf2d631"></a>
static <a class="el" href="group__basic_types.html#gabc5e752c48f3449ca26ef413ecbd647e">cpBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gae5081f933bcc2c64c76d7e7caaf2d631">cpveql</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gae5081f933bcc2c64c76d7e7caaf2d631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if two vectors are equal. (Be careful when comparing floating point numbers!) <br/></td></tr>
<tr class="separator:gae5081f933bcc2c64c76d7e7caaf2d631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga167e0bde13a745299bd5d4164d7c796b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga167e0bde13a745299bd5d4164d7c796b"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga167e0bde13a745299bd5d4164d7c796b">cpvadd</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:ga167e0bde13a745299bd5d4164d7c796b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two vectors. <br/></td></tr>
<tr class="separator:ga167e0bde13a745299bd5d4164d7c796b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd88a5bbd4b5de25aa31e44fdf01e259"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafd88a5bbd4b5de25aa31e44fdf01e259"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gafd88a5bbd4b5de25aa31e44fdf01e259">cpvsub</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gafd88a5bbd4b5de25aa31e44fdf01e259"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract two vectors. <br/></td></tr>
<tr class="separator:gafd88a5bbd4b5de25aa31e44fdf01e259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab79a1d52de40bf0f7db5134da436426b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab79a1d52de40bf0f7db5134da436426b"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gab79a1d52de40bf0f7db5134da436426b">cpvneg</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:gab79a1d52de40bf0f7db5134da436426b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negate a vector. <br/></td></tr>
<tr class="separator:gab79a1d52de40bf0f7db5134da436426b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga717188d925550baf62188b5e1e602047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga717188d925550baf62188b5e1e602047"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga717188d925550baf62188b5e1e602047">cpvmult</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> s)</td></tr>
<tr class="memdesc:ga717188d925550baf62188b5e1e602047"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar multiplication. <br/></td></tr>
<tr class="separator:ga717188d925550baf62188b5e1e602047"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e76653b018d47f864c339092cf482f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e76653b018d47f864c339092cf482f1"></a>
static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga3e76653b018d47f864c339092cf482f1">cpvdot</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:ga3e76653b018d47f864c339092cf482f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector dot product. <br/></td></tr>
<tr class="separator:ga3e76653b018d47f864c339092cf482f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9618b7690ad0c67dbe143c640590f7b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gaf9618b7690ad0c67dbe143c640590f7b">cpvcross</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gaf9618b7690ad0c67dbe143c640590f7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D vector cross product analog.  <a href="#gaf9618b7690ad0c67dbe143c640590f7b">More...</a><br/></td></tr>
<tr class="separator:gaf9618b7690ad0c67dbe143c640590f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4a0ba2873900342126c0449918764bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac4a0ba2873900342126c0449918764bc"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gac4a0ba2873900342126c0449918764bc">cpvperp</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:gac4a0ba2873900342126c0449918764bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a perpendicular vector. (90 degree rotation) <br/></td></tr>
<tr class="separator:gac4a0ba2873900342126c0449918764bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0be2829df5c1be940484fb64b7cab61e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0be2829df5c1be940484fb64b7cab61e"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga0be2829df5c1be940484fb64b7cab61e">cpvrperp</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:ga0be2829df5c1be940484fb64b7cab61e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a perpendicular vector. (-90 degree rotation) <br/></td></tr>
<tr class="separator:ga0be2829df5c1be940484fb64b7cab61e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9c42ec78caa7971459d10543b1549cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae9c42ec78caa7971459d10543b1549cd"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gae9c42ec78caa7971459d10543b1549cd">cpvproject</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gae9c42ec78caa7971459d10543b1549cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the vector projection of v1 onto v2. <br/></td></tr>
<tr class="separator:gae9c42ec78caa7971459d10543b1549cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa534ef07bb623104c576f63cbc6334a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafa534ef07bb623104c576f63cbc6334a"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gafa534ef07bb623104c576f63cbc6334a">cpvforangle</a> (const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> a)</td></tr>
<tr class="memdesc:gafa534ef07bb623104c576f63cbc6334a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the unit length vector for the given angle (in radians). <br/></td></tr>
<tr class="separator:gafa534ef07bb623104c576f63cbc6334a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ee2e1733c8ed09f2230a5788bd284e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8ee2e1733c8ed09f2230a5788bd284e9"></a>
static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga8ee2e1733c8ed09f2230a5788bd284e9">cpvtoangle</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:ga8ee2e1733c8ed09f2230a5788bd284e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the angular direction v is pointing in (in radians). <br/></td></tr>
<tr class="separator:ga8ee2e1733c8ed09f2230a5788bd284e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9a0bb9221f9f2068a48985fa70b5226"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9a0bb9221f9f2068a48985fa70b5226"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gac9a0bb9221f9f2068a48985fa70b5226">cpvrotate</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gac9a0bb9221f9f2068a48985fa70b5226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses complex number multiplication to rotate v1 by v2. Scaling will occur if v1 is not a unit vector. <br/></td></tr>
<tr class="separator:gac9a0bb9221f9f2068a48985fa70b5226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2b1120be08ee9225eadede83f5e054b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac2b1120be08ee9225eadede83f5e054b"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gac2b1120be08ee9225eadede83f5e054b">cpvunrotate</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gac2b1120be08ee9225eadede83f5e054b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverse of <a class="el" href="group__cp_vect.html#gac9a0bb9221f9f2068a48985fa70b5226" title="Uses complex number multiplication to rotate v1 by v2. Scaling will occur if v1 is not a unit vector...">cpvrotate()</a>. <br/></td></tr>
<tr class="separator:gac2b1120be08ee9225eadede83f5e054b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfad8e091ac399cdc377a9c475f7ef0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadfad8e091ac399cdc377a9c475f7ef0d"></a>
static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gadfad8e091ac399cdc377a9c475f7ef0d">cpvlengthsq</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:gadfad8e091ac399cdc377a9c475f7ef0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the squared length of v. Faster than <a class="el" href="group__cp_vect.html#ga9bfe76d8e3c69edb6af7b0d9a63001f9" title="Returns the length of v.">cpvlength()</a> when you only need to compare lengths. <br/></td></tr>
<tr class="separator:gadfad8e091ac399cdc377a9c475f7ef0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bfe76d8e3c69edb6af7b0d9a63001f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9bfe76d8e3c69edb6af7b0d9a63001f9"></a>
static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga9bfe76d8e3c69edb6af7b0d9a63001f9">cpvlength</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:ga9bfe76d8e3c69edb6af7b0d9a63001f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length of v. <br/></td></tr>
<tr class="separator:ga9bfe76d8e3c69edb6af7b0d9a63001f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab93f4924f5369c10782de6dba5ef38da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab93f4924f5369c10782de6dba5ef38da"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gab93f4924f5369c10782de6dba5ef38da">cpvlerp</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> t)</td></tr>
<tr class="memdesc:gab93f4924f5369c10782de6dba5ef38da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linearly interpolate between v1 and v2. <br/></td></tr>
<tr class="separator:gab93f4924f5369c10782de6dba5ef38da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fd46c6ef6dcca0dc7b6c6cef8008758"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0fd46c6ef6dcca0dc7b6c6cef8008758"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga0fd46c6ef6dcca0dc7b6c6cef8008758">cpvnormalize</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v)</td></tr>
<tr class="memdesc:ga0fd46c6ef6dcca0dc7b6c6cef8008758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a normalized copy of v. <br/></td></tr>
<tr class="separator:ga0fd46c6ef6dcca0dc7b6c6cef8008758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c7b8f231543383431aeb80e61255e04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6c7b8f231543383431aeb80e61255e04"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga6c7b8f231543383431aeb80e61255e04">cpvslerp</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> t)</td></tr>
<tr class="memdesc:ga6c7b8f231543383431aeb80e61255e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spherical linearly interpolate between v1 and v2. <br/></td></tr>
<tr class="separator:ga6c7b8f231543383431aeb80e61255e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad81f538a3add6e5e1498645ebecb8ed1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad81f538a3add6e5e1498645ebecb8ed1"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gad81f538a3add6e5e1498645ebecb8ed1">cpvslerpconst</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> a)</td></tr>
<tr class="memdesc:gad81f538a3add6e5e1498645ebecb8ed1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spherical linearly interpolate between v1 towards v2 by no more than angle a radians. <br/></td></tr>
<tr class="separator:gad81f538a3add6e5e1498645ebecb8ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21bac66ee11661debe4d1ddfb710f5f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga21bac66ee11661debe4d1ddfb710f5f8"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga21bac66ee11661debe4d1ddfb710f5f8">cpvclamp</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> len)</td></tr>
<tr class="memdesc:ga21bac66ee11661debe4d1ddfb710f5f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clamp v to length len. <br/></td></tr>
<tr class="separator:ga21bac66ee11661debe4d1ddfb710f5f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf91d2bdafb741a35ab2dc6300d9fa81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaf91d2bdafb741a35ab2dc6300d9fa81"></a>
static <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gaaf91d2bdafb741a35ab2dc6300d9fa81">cpvlerpconst</a> (<a class="el" href="structcp_vect.html">cpVect</a> v1, <a class="el" href="structcp_vect.html">cpVect</a> v2, <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> d)</td></tr>
<tr class="memdesc:gaaf91d2bdafb741a35ab2dc6300d9fa81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linearly interpolate between v1 towards v2 by distance d. <br/></td></tr>
<tr class="separator:gaaf91d2bdafb741a35ab2dc6300d9fa81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07488fb10c3ffb842b78ae66a2d90c00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga07488fb10c3ffb842b78ae66a2d90c00"></a>
static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga07488fb10c3ffb842b78ae66a2d90c00">cpvdist</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:ga07488fb10c3ffb842b78ae66a2d90c00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the distance between v1 and v2. <br/></td></tr>
<tr class="separator:ga07488fb10c3ffb842b78ae66a2d90c00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb0ce5353909318beb7ee3163f7c3152"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadb0ce5353909318beb7ee3163f7c3152"></a>
static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#gadb0ce5353909318beb7ee3163f7c3152">cpvdistsq</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2)</td></tr>
<tr class="memdesc:gadb0ce5353909318beb7ee3163f7c3152"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the squared distance between v1 and v2. Faster than <a class="el" href="group__cp_vect.html#ga07488fb10c3ffb842b78ae66a2d90c00" title="Returns the distance between v1 and v2.">cpvdist()</a> when you only need to compare distances. <br/></td></tr>
<tr class="separator:gadb0ce5353909318beb7ee3163f7c3152"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ffc18e3b7405c28e92b6aa0f6cad746"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2ffc18e3b7405c28e92b6aa0f6cad746"></a>
static <a class="el" href="group__basic_types.html#gabc5e752c48f3449ca26ef413ecbd647e">cpBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga2ffc18e3b7405c28e92b6aa0f6cad746">cpvnear</a> (const <a class="el" href="structcp_vect.html">cpVect</a> v1, const <a class="el" href="structcp_vect.html">cpVect</a> v2, const <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> dist)</td></tr>
<tr class="memdesc:ga2ffc18e3b7405c28e92b6aa0f6cad746"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the distance between v1 and v2 is less than dist. <br/></td></tr>
<tr class="separator:ga2ffc18e3b7405c28e92b6aa0f6cad746"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga18f97c9678bcb262ce182f336dad2318"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga18f97c9678bcb262ce182f336dad2318"></a>
static const <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cp_vect.html#ga18f97c9678bcb262ce182f336dad2318">cpvzero</a> = {0.0f,0.0f}</td></tr>
<tr class="memdesc:ga18f97c9678bcb262ce182f336dad2318"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant for the zero vector. <br/></td></tr>
<tr class="separator:ga18f97c9678bcb262ce182f336dad2318"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Chipmunk's 2D vector type along with a handy 2D vector math lib. </p>
<p>Chipmunk's 2D vector type.</p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaf9618b7690ad0c67dbe143c640590f7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__basic_types.html#gac1ed65573e035bf892505768c852d8d3">cpFloat</a> cpvcross </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td>
          <td class="paramname"><em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcp_vect.html">cpVect</a>&#160;</td>
          <td class="paramname"><em>v2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>2D vector cross product analog. </p>
<p>The cross product of 2D vectors results in a 3D vector with only a z component. This function returns the magnitude of the z value. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jul 2 2015 11:28:11 for Chipmunk2D Pro API Reference by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>