#include <body_kick_two_step.h>
rcsc::Body_KickTwoStepに対する継承グラフ
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 Vector2D & | ballResultPos () const |
get the result ball position | |
const Vector2D & | ballResultVel () 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 [詳細] |
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 |
rcsc::BodyActionを実装しています。
const Vector2D& rcsc::Body_KickTwoStep::ballResultPos | ( | ) | const [inline] |
get the result ball position
const Vector2D& rcsc::Body_KickTwoStep::ballResultVel | ( | ) | const [inline] |
get the result ball velocity
int rcsc::Body_KickTwoStep::kickStep | ( | ) | const [inline] |
get the 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 |
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 |
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 |