Thunderbots Project
Loading...
Searching...
No Matches
find_passes.h
1#pragma once
2
3#include "shared/constants.h"
4#include "software/ai/passing/pass.h"
5#include "software/geom/algorithms/contains.h"
6#include "software/geom/algorithms/intersects.h"
7#include "software/geom/circle.h"
8#include "software/geom/segment.h"
9#include "software/world/world.h"
10
12{
13 // A vector containing the receiving robots of all indirect passes to open robots on
14 // the friendly_team, a indirect pass is a pass where there is an obstacle between the
15 // passing and receiving robots
16 std::vector<Robot> direct_passes;
17
18 // A vector containing receiving robots of all direct passes to open robots on the
19 // friendly_team, a direct pass is a pass where there is no obstacle between the
20 // passing and receiving robots
21 std::vector<Robot> indirect_passes;
22};
23
24
25
37AllPasses findAllPasses(const Robot& robot, const Team& friendly_team,
38 const Team& enemy_team,
39 double radius = ROBOT_MAX_RADIUS_METERS * 1.5);
40
41
51Circle getObstacle(const Robot& robot, double radius);
52
53
63std::vector<Circle> getObstacles(const std::vector<Robot>& robots, double radius);
64
75std::vector<Robot> findOpenFriendlyRobots(const Team& friendly_team,
76 const Team& enemy_team, double radius);
Definition circle.h:10
Definition robot.h:16
Definition team.h:15
Definition find_passes.h:12