body_kick_to_relative.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_KICK_TO_RELATIVE_H
00033 #define RCSC_ACTION_BODY_KICK_TO_RELATIVE_H
00034 
00035 #include <rcsc/player/soccer_action.h>
00036 #include <rcsc/geom/angle_deg.h>
00037 
00038 namespace rcsc {
00039 
00040 class Vector2D;
00041 class WorldModel;
00042 
00050 class Body_KickToRelative
00051     : public BodyAction {
00052 private:
00054     static const size_t DEFAULT_KICK_QUEUE_MAX;
00055 
00057     const double M_target_dist;
00059     const AngleDeg M_target_angle_relative;
00061     const bool M_stop_ball;
00062 
00063 public:
00070     Body_KickToRelative( const double & target_dist,
00071                          const AngleDeg & target_angle_relative,
00072                          const bool stop )
00073         : M_target_dist( target_dist )
00074         , M_target_angle_relative( target_angle_relative )
00075         , M_stop_ball( stop )
00076       { }
00077 
00083     bool execute( PlayerAgent * agent );
00084 
00085 private:
00095     bool simulate( const WorldModel & wm,
00096                    const bool reverse,
00097                    Vector2D * required_accel );
00098 
00099 };
00100 
00101 }
00102 
00103 #endif

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