3#include "proto/parameters.pb.h"
4#include "software/ai/evaluation/enemy_threat.h"
5#include "software/geom/point.h"
6#include "software/geom/segment.h"
7#include "software/world/field.h"
10enum DefenderAssignmentType
22 DefenderAssignmentType type;
29 double coverage_rating;
34 return this->type == other.type && this->target == other.target &&
35 this->coverage_rating == other.coverage_rating;
57 return this->lane == other.lane && this->threat_rating == other.threat_rating;
68 bool operator==(
const GoalLane &other)
const
70 return this->lane == other.lane && this->threat_rating == other.threat_rating &&
71 this->angle_to_goal == other.angle_to_goal;
88std::vector<DefenderAssignment> getAllDefenderAssignments(
89 const std::vector<EnemyThreat> &threats,
const Field &field,
const Ball &ball,
90 const TbotsProto::DefensePlayConfig::DefenderAssignmentConfig &config);
117std::vector<EnemyThreat> filterOutSimilarThreats(
const std::vector<EnemyThreat> &threats,
119 const Angle &min_angle);
131std::vector<std::vector<GoalLane>> groupGoalLanesByDensity(
132 std::vector<GoalLane> &goal_lanes,
double density_threshold);
Definition defender_assignment.h:20
Definition defender_assignment.h:63
Definition defender_assignment.h:43