クラス rcsc::Body_KickTwoStep

player will release the ball at least within two step. usually estimate only one kick. if necessary, consider about second kick. consider collision. consider opponents. [詳細]

#include <body_kick_two_step.h>

rcsc::Body_KickTwoStepに対する継承グラフ

rcsc::BodyAction すべてのメンバ一覧

Public メソッド

 Body_KickTwoStep (const Vector2D &target_point, const double &first_speed, const bool enforce=false)
 construct with all parameters
bool execute (PlayerAgent *agent)
 execute action
const Vector2DballResultPos () const
 get the result ball position
const Vector2DballResultVel () const
 get the result ball velocity
int kickStep () const
 get the estimated kick steps

Static Public メソッド

static bool is_opp_kickable (const PlayerAgent *agent, const Vector2D &rel_pos, double *min_dist2)
 check if opponent is kickable at rel_pos
static bool simulate_one_kick (Vector2D *achieved_vel, double *kick_power, double *opp_dist2, const Vector2D &target_rpos, const double &first_speed, const Vector2D &my_rpos, const Vector2D &my_vel, const AngleDeg &my_body, const Vector2D &ball_rpos, const Vector2D &ball_vel, const PlayerAgent *agent, const bool enforce)
 simulate one kick
static bool simulate_two_kick (Vector2D *achieved_vel, Vector2D *next_vel, const Vector2D &target_rpos, const double &first_speed, const Vector2D &my_rpos, const Vector2D &my_vel, const AngleDeg &my_body, const Vector2D &ball_rpos, const Vector2D &ball_vel, const PlayerAgent *agent, const bool enforce)
 simulate two kicks

Static Public 変数

static const double DEFAULT_MIN_DIST2
 constant variable that defines the minimum distance buffer.

構成

struct  SubTarget
 sub-target object [詳細]

説明

player will release the ball at least within two step. usually estimate only one kick. if necessary, consider about second kick. consider collision. consider opponents.


コンストラクタとデストラクタ

rcsc::Body_KickTwoStep::Body_KickTwoStep ( const Vector2D target_point,
const double &  first_speed,
const bool  enforce = false 
) [inline]

construct with all parameters

引数:
target_point global target position
first_speed desired ball first speed
enforce if true, ball should be released enforcely


関数

bool rcsc::Body_KickTwoStep::execute ( PlayerAgent agent  )  [virtual]

execute action

引数:
agent pointer to the agent itself
戻り値:
true if action is performed

rcsc::BodyActionを実装しています。

const Vector2D& rcsc::Body_KickTwoStep::ballResultPos (  )  const [inline]

get the result ball position

戻り値:
ball position after kick

const Vector2D& rcsc::Body_KickTwoStep::ballResultVel (  )  const [inline]

get the result ball velocity

戻り値:
ball velocity after kick

int rcsc::Body_KickTwoStep::kickStep (  )  const [inline]

get the estimated kick steps

戻り値:
estimated kick steps

bool rcsc::Body_KickTwoStep::is_opp_kickable ( const PlayerAgent agent,
const Vector2D rel_pos,
double *  min_dist2 
) [static]

check if opponent is kickable at rel_pos

引数:
agent agent itself
rel_pos considered position relative to current agent pos
min_dist2 minimum distance to the opponent
戻り値:
true if kickable opponent exists

bool rcsc::Body_KickTwoStep::simulate_one_kick ( Vector2D achieved_vel,
double *  kick_power,
double *  opp_dist2,
const Vector2D target_rpos,
const double &  first_speed,
const Vector2D my_rpos,
const Vector2D my_vel,
const AngleDeg my_body,
const Vector2D ball_rpos,
const Vector2D ball_vel,
const PlayerAgent agent,
const bool  enforce 
) [static]

simulate one kick

引数:
achieved_vel max reachable ball velocity.
kick_power varialble to store the estimated last kick power
opp_dist2 varialble to store the estimated squared distance to the nearest opponent
target_rpos target position relative to current agent position
first_speed desired ball first speed
my_rpos estimated agent position relative to current agent position
my_vel estimated agent velocity
my_body agent body angle
ball_rpos ball position relative to current agent position.
ball_vel ball velocity
agent pointer to agent itself
enforce if true, planning is done to kick the ball enforcely
戻り値:
true if ball can be accelerated to the desired vel or enforce mode

bool rcsc::Body_KickTwoStep::simulate_two_kick ( Vector2D achieved_vel,
Vector2D next_vel,
const Vector2D target_rpos,
const double &  first_speed,
const Vector2D my_rpos,
const Vector2D my_vel,
const AngleDeg my_body,
const Vector2D ball_rpos,
const Vector2D ball_vel,
const PlayerAgent agent,
const bool  enforce 
) [static]

simulate two kicks

引数:
achieved_vel max reachable ball velocity.
next_vel next ball velocity when this kick is done. this value is used to re-calculate the required kick power.
target_rpos target position relative to current agent position
first_speed desired ball first speed
my_rpos estimated agent position relative to current agent position
my_vel estimated agent velocity
my_body agent body angle
ball_rpos ball position relative to current agent position.
ball_vel ball velocity
agent pointer to agent itself
enforce if true, planning is done to kick the ball enforcely
戻り値:
true if ball can be accelerated to the desired vel or enforce mode


このクラスの説明は次のファイルから生成されました:
librcscに対してThu May 1 15:41:24 2008に生成されました。  doxygen 1.5.0