3#include "proto/world.pb.h"
4#include "software/geom/circle.h"
5#include "software/geom/point.h"
6#include "software/geom/rectangle.h"
7#include "software/util/make_enum/make_enum.hpp"
80 explicit Field(
double field_x_length,
double field_y_length,
double defense_x_length,
81 double defense_y_length,
double goal_x_length,
double goal_y_length,
82 double boundary_buffer_size,
double center_circle_radius);
94 explicit Field(
const TbotsProto::Field &field_proto);
438 double field_x_length_;
440 double field_y_length_;
442 double defense_x_length_;
444 double defense_y_length_;
446 double goal_x_length_;
448 double goal_y_length_;
451 double boundary_buffer_size_;
453 double center_circle_radius_;
455 double goal_centre_to_penalty_mark_;
473 bool operator()(
const Field &lhs,
const Field &rhs)
const
Point friendlyCornerNeg() const
Definition field.cpp:227
Rectangle friendlyHalf() const
Definition field.cpp:128
Point friendlyGoalpostPos() const
Definition field.cpp:242
Rectangle friendlyPositiveYQuadrant() const
Definition field.cpp:133
double yLength() const
Definition field.cpp:83
Rectangle fieldBoundary() const
Definition field.cpp:163
Point friendlyCornerPos() const
Definition field.cpp:222
bool pointInFriendlyHalf(const Point &p) const
Definition field.cpp:277
static Field createField(TbotsProto::FieldType field_type)
Definition field.cpp:23
double boundaryMargin() const
Definition field.cpp:262
const Rectangle & enemyDefenseArea() const
Definition field.cpp:123
double goalYLength() const
Definition field.cpp:98
Point enemyGoalpostNeg() const
Definition field.cpp:257
bool pointInFriendlyDefenseArea(const Point &p) const
Definition field.cpp:267
double centerCircleRadius() const
Definition field.cpp:170
Point friendlyPenaltyMark() const
Definition field.cpp:210
Rectangle enemyPositiveYQuadrant() const
Definition field.cpp:148
Segment halfwayLine() const
Definition field.cpp:185
Point enemyCornerNeg() const
Definition field.cpp:237
const Rectangle & fieldLines() const
Definition field.cpp:158
bool pointInFriendlyCorner(const Point &p, double radius) const
Definition field.cpp:287
double defenseAreaXLength() const
Definition field.cpp:113
Rectangle friendlyNegativeYQuadrant() const
Definition field.cpp:138
bool operator!=(const Field &other) const
Definition field.cpp:313
bool pointInEnemyDefenseArea(const Point &p) const
Definition field.cpp:272
double totalYLength() const
Definition field.cpp:93
Rectangle enemyNegativeYQuadrant() const
Definition field.cpp:153
Point enemyGoalCenter() const
Definition field.cpp:195
bool pointInEnemyCorner(const Point &p, double radius) const
Definition field.cpp:294
const Rectangle & enemyGoal() const
Definition field.cpp:205
Point friendlyGoalpostNeg() const
Definition field.cpp:247
Point enemyPenaltyMark() const
Definition field.cpp:216
double xLength() const
Definition field.cpp:78
double totalXLength() const
Definition field.cpp:88
Rectangle enemyHalf() const
Definition field.cpp:143
bool operator==(const Field &other) const
Definition field.cpp:301
static Field createSSLDivisionBField()
Definition field.cpp:7
double goalXLength() const
Definition field.cpp:103
double defenseAreaYLength() const
Definition field.cpp:108
const Rectangle & friendlyDefenseArea() const
Definition field.cpp:118
Point friendlyGoalCenter() const
Definition field.cpp:190
Circle centerCircle() const
Definition field.cpp:175
bool pointInEnemyHalf(const Point &p) const
Definition field.cpp:282
Point enemyCornerPos() const
Definition field.cpp:232
const Rectangle & friendlyGoal() const
Definition field.cpp:200
Point centerPoint() const
Definition field.cpp:180
Point enemyGoalpostPos() const
Definition field.cpp:252
static Field createSSLDivisionAField()
Definition field.cpp:15
Definition rectangle.h:10
double halfPerimeter() const
Definition rectangle.cpp:22