worldmodel_8c-source.html
来自「仿真人工智能是指用人工的方法和技术」· HTML 代码 · 共 685 行 · 第 1/5 页
HTML
685 行
00584 <font class="keywordflow">return</font> <a class="code" href="classWorldModel.html#o14">agentObject</a>.<a class="code" href="classAgentObject.html#a7">getViewQuality</a>();00585 }00586 <a name="l00591"></a><a class="code" href="classWorldModel.html#a46">00591</a> <font class="keywordtype">double</font> <a class="code" href="classWorldModel.html#a46">WorldModel::getAgentViewFrequency</a>( )<font class="keyword"> const</font>00592 <font class="keyword"></font>{00593 <font class="keywordtype">double</font> dViewQualityFactor = 0.0;00594 <font class="keywordtype">double</font> dViewWidthFactor = 0.0;00595 00596 <font class="keywordflow">switch</font>( <a class="code" href="classWorldModel.html#a44">getAgentViewAngle</a>() )00597 {00598 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a244a170">VA_NARROW</a>: dViewWidthFactor = 0.5; <font class="keywordflow">break</font>;00599 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a244a171">VA_NORMAL</a>: dViewWidthFactor = 1.0; <font class="keywordflow">break</font>;00600 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a244a172">VA_WIDE</a>: dViewWidthFactor = 2.0; <font class="keywordflow">break</font>;00601 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a244a173">VA_ILLEGAL</a>:00602 <font class="keywordflow">default</font>: dViewWidthFactor = 0.0; <font class="keywordflow">break</font>;00603 }00604 00605 <font class="keywordflow">switch</font>( <a class="code" href="classWorldModel.html#a45">getAgentViewQuality</a>() )00606 {00607 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a245a175">VQ_LOW</a>: dViewQualityFactor = 0.5; <font class="keywordflow">break</font>;00608 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a245a174">VQ_HIGH</a>: dViewQualityFactor = 1.0; <font class="keywordflow">break</font>;00609 <font class="keywordflow">case</font> <a class="code" href="SoccerTypes_8h.html#a245a176">VQ_ILLEGAL</a>:00610 <font class="keywordflow">default</font>: dViewQualityFactor = 0.0; <font class="keywordflow">break</font>;00611 }00612 00613 <font class="keywordflow">return</font> dViewQualityFactor*dViewWidthFactor;00614 }00615 <a name="l00620"></a><a class="code" href="classWorldModel.html#a47">00620</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classWorldModel.html#a47">WorldModel::getBallPos</a>()00621 {00622 <font class="keywordflow">return</font> <a class="code" href="classWorldModel.html#a51">getGlobalPosition</a>( <a class="code" href="SoccerTypes_8h.html#a240a24">OBJECT_BALL</a> );00623 }00624 <a name="l00627"></a><a class="code" href="classWorldModel.html#a48">00627</a> <font class="keywordtype">double</font> <a class="code" href="classWorldModel.html#a48">WorldModel::getBallSpeed</a>()00628 {00629 <font class="keywordflow">return</font> <a class="code" href="classWorldModel.html#o13">Ball</a>.<a class="code" href="classDynamicObject.html#a8">getGlobalVelocity</a>().<a class="code" href="classVecPosition.html#a32">getMagnitude</a>();00630 }00631 <a name="l00634"></a><a class="code" href="classWorldModel.html#a49">00634</a> <a class="code" href="Geometry_8h.html#a2">AngDeg</a> <a class="code" href="classWorldModel.html#a49">WorldModel::getBallDirection</a>()00635 {00636 <font class="keywordflow">return</font> <a class="code" href="classWorldModel.html#o13">Ball</a>.<a class="code" href="classDynamicObject.html#a8">getGlobalVelocity</a>().<a class="code" href="classVecPosition.html#a33">getDirection</a>();00637 }00638 <a name="l00643"></a><a class="code" href="classWorldModel.html#a50">00643</a> <a class="code" href="classTime.html">Time</a> <a class="code" href="classWorldModel.html#a50">WorldModel::getTimeGlobalPosition</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00644 {00645 <a class="code" href="classPlayerObject.html">PlayerObject</a> *object = (<a class="code" href="classPlayerObject.html">PlayerObject</a>*) <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00646 <font class="keywordflow">if</font>( object != NULL )00647 <font class="keywordflow">return</font> object-><a class="code" href="classObject.html#a15">getTimeGlobalPosition</a>();00648 <font class="keywordflow">return</font> <a class="code" href="SoccerTypes_8h.html#a22">UnknownTime</a>;00649 }00650 00651 <a name="l00658"></a><a class="code" href="classWorldModel.html#a51">00658</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classWorldModel.html#a51">WorldModel::getGlobalPosition</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00659 {00660 <a class="code" href="classObject.html">Object</a> *object = <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00661 <font class="keywordflow">if</font>( object != NULL )00662 {00663 <font class="keywordflow">if</font>( <a class="code" href="classSoccerTypes.html#d3">SoccerTypes::isFlag</a>( o ) || <a class="code" href="classSoccerTypes.html#d5">SoccerTypes::isGoal</a>( o ) )00664 <font class="keywordflow">return</font> <a class="code" href="classSoccerTypes.html#d17">SoccerTypes::getGlobalPositionFlag</a>(o,<a class="code" href="classWorldModel.html#a16">getSide</a>(),<a class="code" href="classWorldModel.html#o0">SS</a>-><a class="code" href="classServerSettings.html#a4">getGoalWidth</a>());00665 <font class="keywordflow">else</font>00666 <font class="keywordflow">return</font> object-><a class="code" href="classObject.html#a13">getGlobalPosition</a>();00667 }00668 <font class="keywordflow">return</font> <a class="code" href="classVecPosition.html">VecPosition</a>( <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>, <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>);00669 }00670 <a name="l00675"></a><a class="code" href="classWorldModel.html#a52">00675</a> <a class="code" href="classTime.html">Time</a> <a class="code" href="classWorldModel.html#a52">WorldModel::getTimeGlobalVelocity</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00676 {00677 <a class="code" href="classPlayerObject.html">PlayerObject</a> *object = (<a class="code" href="classPlayerObject.html">PlayerObject</a>*) <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00678 <font class="keywordflow">if</font>( object != NULL )00679 <font class="keywordflow">return</font> object-><a class="code" href="classDynamicObject.html#a11">getTimeGlobalVelocity</a>();00680 <font class="keywordflow">return</font> <a class="code" href="SoccerTypes_8h.html#a22">UnknownTime</a>;00681 }00682 00683 <a name="l00689"></a><a class="code" href="classWorldModel.html#a53">00689</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classWorldModel.html#a53">WorldModel::getGlobalVelocity</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00690 {00691 <a class="code" href="classDynamicObject.html">DynamicObject</a> *object = (<a class="code" href="classDynamicObject.html">DynamicObject</a>*)<a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00692 <font class="keywordflow">if</font>( object != NULL )00693 <font class="keywordflow">return</font> object-><a class="code" href="classDynamicObject.html#a8">getGlobalVelocity</a>( );00694 <font class="keywordflow">return</font> <a class="code" href="classVecPosition.html">VecPosition</a>( <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>, <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a> );00695 00696 }00697 <a name="l00703"></a><a class="code" href="classWorldModel.html#a54">00703</a> <font class="keywordtype">double</font> <a class="code" href="classWorldModel.html#a54">WorldModel::getRelativeDistance</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00704 {00705 <a class="code" href="classObject.html">Object</a> *object = <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00706 <font class="keywordflow">if</font>( object != NULL )00707 <font class="keywordflow">return</font> object-><a class="code" href="classObject.html#a3">getRelativeDistance</a>();00708 <font class="keywordflow">return</font> <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>;00709 }00710 <a name="l00716"></a><a class="code" href="classWorldModel.html#a55">00716</a> <a class="code" href="classVecPosition.html">VecPosition</a> <a class="code" href="classWorldModel.html#a55">WorldModel::getRelativePosition</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00717 {00718 <a class="code" href="classObject.html">Object</a> *object = <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00719 <font class="keywordflow">if</font>( object != NULL )00720 <font class="keywordflow">return</font> object-><a class="code" href="classObject.html#a9">getRelativePosition</a>();00721 <font class="keywordflow">return</font> <a class="code" href="classVecPosition.html">VecPosition</a>(<a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>, <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>);00722 }00723 <a name="l00734"></a><a class="code" href="classWorldModel.html#a56">00734</a> <a class="code" href="Geometry_8h.html#a2">AngDeg</a> <a class="code" href="classWorldModel.html#a56">WorldModel::getRelativeAngle</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o, <font class="keywordtype">bool</font> bWithBody )00735 {00736 <a class="code" href="classObject.html">Object</a> *object = <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00737 <font class="keywordtype">double</font> dBody = 0.0;00738 00739 <font class="keywordflow">if</font>( object != NULL )00740 {00741 <font class="keywordflow">if</font>( bWithBody == <font class="keyword">true</font> )00742 dBody = <a class="code" href="classWorldModel.html#a36">getAgentBodyAngleRelToNeck</a>();00743 <font class="keywordflow">return</font> <a class="code" href="classVecPosition.html#d1">VecPosition::normalizeAngle</a>( object-><a class="code" href="classObject.html#a2">getRelativeAngle</a>() - dBody );00744 }00745 <font class="keywordflow">return</font> <a class="code" href="SoccerTypes_8h.html#a19">UnknownDoubleValue</a>;00746 }00747 <a name="l00752"></a><a class="code" href="classWorldModel.html#a57">00752</a> <a class="code" href="classTime.html">Time</a> <a class="code" href="classWorldModel.html#a57">WorldModel::getTimeGlobalAngles</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00753 {00754 <a class="code" href="classPlayerObject.html">PlayerObject</a> *object = (<a class="code" href="classPlayerObject.html">PlayerObject</a>*) <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00755 <font class="keywordflow">if</font>( object != NULL )00756 <font class="keywordflow">return</font> object-><a class="code" href="classPlayerObject.html#a18">getTimeGlobalAngles</a>();00757 <font class="keywordflow">return</font> <a class="code" href="classTime.html">Time</a>( -1, 0);00758 }00759 <a name="l00765"></a><a class="code" href="classWorldModel.html#a58">00765</a> <a class="code" href="Geometry_8h.html#a2">AngDeg</a> <a class="code" href="classWorldModel.html#a58">WorldModel::getGlobalBodyAngle</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00766 {00767 <a class="code" href="classPlayerObject.html">PlayerObject</a> *object = (<a class="code" href="classPlayerObject.html">PlayerObject</a>*) <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00768 <font class="keywordflow">if</font>( object != NULL )00769 <font class="keywordflow">return</font> object-><a class="code" href="classPlayerObject.html#a10">getGlobalBodyAngle</a>();00770 <font class="keywordflow">return</font> <a class="code" href="SoccerTypes_8h.html#a20">UnknownAngleValue</a>;00771 }00772 <a name="l00778"></a><a class="code" href="classWorldModel.html#a59">00778</a> <a class="code" href="Geometry_8h.html#a2">AngDeg</a> <a class="code" href="classWorldModel.html#a59">WorldModel::getGlobalNeckAngle</a>( <a class="code" href="SoccerTypes_8h.html#a240">ObjectT</a> o )00779 {00780 <a class="code" href="classPlayerObject.html">PlayerObject</a> *object = (<a class="code" href="classPlayerObject.html">PlayerObject</a>*) <a class="code" href="classWorldModel.html#c0">getObjectPtrFromType</a>( o );00781 <font class="keywordflow">if</font>( object != NULL )00782 <font class="keywordflow">return</font> object-><a class="code" href="classPlayerObject.html#a14">getGlobalNeckAngle</a>();00783 <font class="keywordflow">return</font> <a class="code" href="SoccerTypes_8h.html#a20">UnknownAngleValue</a>;00784 }00785
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?