body_intercept.h

説明を見る。
00001 // -*-c++-*-
00002 
00008 /*
00009  *Copyright:
00010 
00011  Copyright (C) Hidehisa AKIYAMA
00012 
00013  This code is free software; you can redistribute it and/or
00014  modify it under the terms of the GNU Lesser General Public
00015  License as published by the Free Software Foundation; either
00016  version 2.1 of the License, or (at your option) any later version.
00017 
00018  This library is distributed in the hope that it will be useful,
00019  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  Lesser General Public License for more details.
00022 
00023  You should have received a copy of the GNU Lesser General Public
00024  License along with this library; if not, write to the Free Software
00025  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 
00027  *EndCopyright:
00028  */
00029 
00031 
00032 #ifndef RCSC_ACTION_BODY_INTERCEPT_H
00033 #define RCSC_ACTION_BODY_INTERCEPT_H
00034 
00035 #include <rcsc/player/soccer_action.h>
00036 #include <rcsc/player/intercept_table.h>
00037 #include <rcsc/common/player_type.h>
00038 #include <rcsc/geom/vector_2d.h>
00039 
00040 namespace rcsc {
00041 
00046 class Body_Intercept2007
00047     : public BodyAction {
00048 private:
00050     const bool M_save_recovery;
00052     const Vector2D M_face_point;
00053 public:
00058     explicit
00059     Body_Intercept2007( const bool save_recovery = true,
00060                         const Vector2D & face_point = Vector2D::INVALIDATED )
00061         : M_save_recovery( save_recovery )
00062         , M_face_point( face_point )
00063       { }
00064 
00070     bool execute( PlayerAgent * agent );
00071 
00072 
00073 private:
00074 
00080     bool doKickableOpponentCheck( PlayerAgent * agent );
00081 
00088     //InterceptInfo getBestIntercept( const WorldModel & wm,
00089     //                                const InterceptTable * table ) const;
00090 
00091     InterceptInfo getBestIntercept_Test( const WorldModel & wm,
00092                                          const InterceptTable * table ) const;
00093 
00101     bool doWaitTurn( PlayerAgent * agent,
00102                      const Vector2D & target_point,
00103                      const InterceptInfo & info );
00104 
00112     bool doInertiaDash( PlayerAgent * agent,
00113                         const Vector2D & target_point,
00114                         const InterceptInfo & info );
00115 
00116 };
00117 
00121 typedef Body_Intercept2007 Body_Intercept;
00122 
00123 }
00124 
00125 #endif

librcscに対してThu May 1 15:41:20 2008に生成されました。  doxygen 1.5.0