geometry_8c-source.html

来自「仿真人工智能是指用人工的方法和技术」· HTML 代码 · 共 754 行 · 第 1/5 页

HTML
754
字号
00255   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> + d, <a class="code" href="classVecPosition.html#o1">m_y</a> + d ) );00256 }00257 <a name="l00263"></a><a class="code" href="classVecPosition.html#a3">00263</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a2">VecPosition::operator + </a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00264 {00265   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> + p.<a class="code" href="classVecPosition.html#o0">m_x</a>, <a class="code" href="classVecPosition.html#o1">m_y</a> + p.<a class="code" href="classVecPosition.html#o1">m_y</a> ) );00266 }00267 <a name="l00276"></a><a class="code" href="classVecPosition.html#a4">00276</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a1">VecPosition::operator - </a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00277 {00278   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> - d, <a class="code" href="classVecPosition.html#o1">m_y</a> - d ) );00279 }00280 <a name="l00288"></a><a class="code" href="classVecPosition.html#a5">00288</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a1">VecPosition::operator - </a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00289 {00290   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> - p.<a class="code" href="classVecPosition.html#o0">m_x</a>, <a class="code" href="classVecPosition.html#o1">m_y</a> - p.<a class="code" href="classVecPosition.html#o1">m_y</a> ) );00291 }00292 <a name="l00300"></a><a class="code" href="classVecPosition.html#a6">00300</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a6">VecPosition::operator * </a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d  )00301 {00302   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> * d, <a class="code" href="classVecPosition.html#o1">m_y</a> * d  ) );00303 }00304 <a name="l00311"></a><a class="code" href="classVecPosition.html#a7">00311</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a6">VecPosition::operator * </a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00312 {00313   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> * p.<a class="code" href="classVecPosition.html#o0">m_x</a>, <a class="code" href="classVecPosition.html#o1">m_y</a> * p.<a class="code" href="classVecPosition.html#o1">m_y</a> ) );00314 }00315 <a name="l00322"></a><a class="code" href="classVecPosition.html#a8">00322</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a8">VecPosition::operator / </a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00323 {00324   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> / d, <a class="code" href="classVecPosition.html#o1">m_y</a> / d  ) );00325 }00326 <a name="l00332"></a><a class="code" href="classVecPosition.html#a9">00332</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classVecPosition.html#a8">VecPosition::operator / </a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00333 {00334   <font class="keywordflow">return</font> ( <a class="code" href="classVecPosition.html#a0">VecPosition</a>( <a class="code" href="classVecPosition.html#o0">m_x</a> / p.<a class="code" href="classVecPosition.html#o0">m_x</a>, <a class="code" href="classVecPosition.html#o1">m_y</a> / p.<a class="code" href="classVecPosition.html#o1">m_y</a> ) );00335 }00336 <a name="l00342"></a><a class="code" href="classVecPosition.html#a10">00342</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a10">VecPosition::operator = </a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00343 {00344   <a class="code" href="classVecPosition.html#o0">m_x</a> = d;00345   <a class="code" href="classVecPosition.html#o1">m_y</a> = d;00346 }00347 <a name="l00353"></a><a class="code" href="classVecPosition.html#a11">00353</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a11">VecPosition::operator +=</a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00354 {00355   <a class="code" href="classVecPosition.html#o0">m_x</a> += p.<a class="code" href="classVecPosition.html#o0">m_x</a>;00356   <a class="code" href="classVecPosition.html#o1">m_y</a> += p.<a class="code" href="classVecPosition.html#o1">m_y</a>;00357 }00358 <a name="l00365"></a><a class="code" href="classVecPosition.html#a12">00365</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a11">VecPosition::operator += </a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00366 {00367   <a class="code" href="classVecPosition.html#o0">m_x</a> += d;00368   <a class="code" href="classVecPosition.html#o1">m_y</a> += d;00369 }00370 <a name="l00377"></a><a class="code" href="classVecPosition.html#a13">00377</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a13">VecPosition::operator -=</a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00378 {00379   <a class="code" href="classVecPosition.html#o0">m_x</a> -= p.<a class="code" href="classVecPosition.html#o0">m_x</a>;00380   <a class="code" href="classVecPosition.html#o1">m_y</a> -= p.<a class="code" href="classVecPosition.html#o1">m_y</a>;00381 }00382 <a name="l00389"></a><a class="code" href="classVecPosition.html#a14">00389</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a13">VecPosition::operator -=</a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00390 {00391   <a class="code" href="classVecPosition.html#o0">m_x</a> -= d;00392   <a class="code" href="classVecPosition.html#o1">m_y</a> -= d;00393 }00394 <a name="l00401"></a><a class="code" href="classVecPosition.html#a15">00401</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a15">VecPosition::operator *=</a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00402 {00403   <a class="code" href="classVecPosition.html#o0">m_x</a> *= p.<a class="code" href="classVecPosition.html#o0">m_x</a>;00404   <a class="code" href="classVecPosition.html#o1">m_y</a> *= p.<a class="code" href="classVecPosition.html#o1">m_y</a>;00405 }00406 <a name="l00413"></a><a class="code" href="classVecPosition.html#a16">00413</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a15">VecPosition::operator *=</a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00414 {00415   <a class="code" href="classVecPosition.html#o0">m_x</a> *= d;00416   <a class="code" href="classVecPosition.html#o1">m_y</a> *= d;00417 }00418 <a name="l00424"></a><a class="code" href="classVecPosition.html#a17">00424</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a17">VecPosition::operator /=</a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00425 {00426   <a class="code" href="classVecPosition.html#o0">m_x</a> /= p.<a class="code" href="classVecPosition.html#o0">m_x</a>;00427   <a class="code" href="classVecPosition.html#o1">m_y</a> /= p.<a class="code" href="classVecPosition.html#o1">m_y</a>;00428 }00429 <a name="l00436"></a><a class="code" href="classVecPosition.html#a18">00436</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a17">VecPosition::operator /=</a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00437 {00438   <a class="code" href="classVecPosition.html#o0">m_x</a> /= d;00439   <a class="code" href="classVecPosition.html#o1">m_y</a> /= d;00440 }00441 <a name="l00448"></a><a class="code" href="classVecPosition.html#a19">00448</a> <font class="keywordtype">bool</font> <a class="code" href="classVecPosition.html#a19">VecPosition::operator !=</a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00449 {00450   <font class="keywordflow">return</font> ( ( <a class="code" href="classVecPosition.html#o0">m_x</a> != p.<a class="code" href="classVecPosition.html#o0">m_x</a> ) || ( <a class="code" href="classVecPosition.html#o1">m_y</a> != p.<a class="code" href="classVecPosition.html#o1">m_y</a> ) );00451 }00452 <a name="l00460"></a><a class="code" href="classVecPosition.html#a20">00460</a> <font class="keywordtype">bool</font> <a class="code" href="classVecPosition.html#a19">VecPosition::operator !=</a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00461 {00462   <font class="keywordflow">return</font> ( ( <a class="code" href="classVecPosition.html#o0">m_x</a> != d ) || ( <a class="code" href="classVecPosition.html#o1">m_y</a> != d ) );00463 }00464 <a name="l00471"></a><a class="code" href="classVecPosition.html#a21">00471</a> <font class="keywordtype">bool</font> <a class="code" href="classVecPosition.html#a21">VecPosition::operator ==</a>( <font class="keyword">const</font> <a class="code" href="classVecPosition.html">VecPosition</a> &amp;p )00472 {00473   <font class="keywordflow">return</font> ( ( <a class="code" href="classVecPosition.html#o0">m_x</a> == p.<a class="code" href="classVecPosition.html#o0">m_x</a> ) &amp;&amp; ( <a class="code" href="classVecPosition.html#o1">m_y</a> == p.<a class="code" href="classVecPosition.html#o1">m_y</a> ) );00474 }00475 <a name="l00483"></a><a class="code" href="classVecPosition.html#a22">00483</a> <font class="keywordtype">bool</font> <a class="code" href="classVecPosition.html#a21">VecPosition::operator ==</a>( <font class="keyword">const</font> <font class="keywordtype">double</font> &amp;d )00484 {00485   <font class="keywordflow">return</font> ( ( <a class="code" href="classVecPosition.html#o0">m_x</a> == d ) &amp;&amp; ( <a class="code" href="classVecPosition.html#o1">m_y</a> == d ) );00486 }00487 <a name="l00495"></a><a class="code" href="Geometry_8C.html#a14">00495</a> ostream&amp; <a class="code" href="SoccerTypes_8C.html#a1">operator &lt;&lt;</a>( ostream &amp;os, <a class="code" href="classVecPosition.html">VecPosition</a> v )00496 {00497   <font class="keywordflow">return</font> ( os &lt;&lt; <font class="stringliteral">"( "</font> &lt;&lt; v.<a class="code" href="classVecPosition.html#o0">m_x</a> &lt;&lt; <font class="stringliteral">", "</font> &lt;&lt; v.<a class="code" href="classVecPosition.html#o1">m_y</a> &lt;&lt; <font class="stringliteral">" )"</font> );00498 }00499 <a name="l00504"></a><a class="code" href="classVecPosition.html#a23">00504</a> <font class="keywordtype">void</font> <a class="code" href="classVecPosition.html#a23">VecPosition::show</a>( <a class="code" href="Geometry_8h.html#a19">CoordSystemT</a> cs )00505 {00506   <font class="keywordflow">if</font>( cs == CARTESIAN )00507     cout &lt;&lt; *<font class="keyword">this</font> &lt;&lt; endl;00508   <font class="keywordflow">else</font>00509     cout &lt;&lt; <font class="stringliteral">"( r: "</font> &lt;&lt; <a class="code" href="classVecPosition.html#a32">getMagnitude</a>( ) &lt;&lt; <font class="stringliteral">", phi: "</font> &lt;&lt; <a class="code" href="classVecPosition.html#a33">getDirection</a>( ) &lt;&lt; <font class="stringliteral">"  )"</font>;00510 }00511 <a name="l00518"></a><a class="code" href="classVecPosition.html#a24">00518</a> string <a class="code" href="classVecPosition.html#a24">VecPosition::str</a>( <a class="code" href="Geometry_8h.html#a19">CoordSystemT</a> cs )00519 {00520   <font class="keywordtype">char</font> buf[ 1024 ];00521 00522   <font class="keywordflow">if</font>( cs == CARTESIAN )00523     sprintf( buf, <font class="stringliteral">"( %f, %f )"</font>, <a class="code" href="classVecPosition.html#a26">getX</a>( ), <a class="code" href="classVecPosition.html#a28">getY</a>( ) );00524   <font class="keywordflow">else</font>00525     sprintf( buf, <font class="stringliteral">"( r: %f, phi: %f )"</font>, <a class="code" href="classVecPosition.html#a32">getMagnitude</a>( ), <a class="code" href="classVecPosition.html#a33">getDirection</a>( ) );00526 00527   string <a class="code" href="classVecPosition.html#a24">str</a>( buf );00528   <font class="keywordflow">return</font> ( str );00529 }00530 <a name="l00534"></a><a class="code" href="classVecPosition.html#a25">00534</a> <font class="keywordtype">bool</font> <a class="code" href="classVecPosition.html#a25">VecPosition::setX</a>( <font class="keywordtype">double</font> dX )00535 {00536   <a class="code" href="classVecPosition.html#o0">m_x</a> = dX;00537   <font class="keywordflow">return</font> ( true );00538 }00539 <a name="l00542"></a><a class="code" href="classVecPosition.html#a26">00542</a> <font class="keywordtype">double</font> <a class="code" href="classVecPosition.html#a26">VecPosition::getX</a>( )<font class="keyword"> const</font>00543 <font class="keyword"></font>{00544   <font class="keywordflow">return</font> ( m_x );00545 }00546 <a name="l00550"></a><a class="code" href="classVecPosition.html#a27">00550</a> <font class="keywordtype">bool</font> <a class="code" href="classVecPosition.html#a27">VecPosition::setY</a>( <font class="keywordtype">double</font> dY )00551 {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?