Thunderbots Project
Loading...
Searching...
No Matches
rectangle.h
1#pragma once
2
3#include "software/geom/convex_polygon.h"
4
9class Rectangle : public ConvexPolygon
10{
11 public:
23 explicit Rectangle(const Point &point1, const Point &point2);
24
30 double xLength() const;
31
37 double yLength() const;
38
44 Point centre() const;
45
51 const Point &posXPosYCorner() const;
52
58 const Point &negXPosYCorner() const;
59
65 const Point &negXNegYCorner() const;
66
72 const Point &posXNegYCorner() const;
73
79 double xMax() const;
80
86 double xMin() const;
87
93 double yMax() const;
94
100 double yMin() const;
101
107 Vector diagonal() const;
108
114 double halfPerimeter() const;
115
124 Rectangle expand(double expansion_amount) const;
125
126 bool operator==(const Rectangle &p) const;
127};
Definition convex_polygon.h:10
Definition point.h:14
Definition rectangle.h:10
double yLength() const
Definition rectangle.cpp:32
const Point & posXNegYCorner() const
Definition rectangle.cpp:57
double xMax() const
Definition rectangle.cpp:62
Point centre() const
Definition rectangle.cpp:37
const Point & negXPosYCorner() const
Definition rectangle.cpp:47
double halfPerimeter() const
Definition rectangle.cpp:22
Vector diagonal() const
Definition rectangle.cpp:17
double xLength() const
Definition rectangle.cpp:27
Rectangle expand(double expansion_amount) const
Definition rectangle.cpp:79
const Point & posXPosYCorner() const
Definition rectangle.cpp:42
double yMax() const
Definition rectangle.cpp:70
double yMin() const
Definition rectangle.cpp:74
double xMin() const
Definition rectangle.cpp:66
const Point & negXNegYCorner() const
Definition rectangle.cpp:52
Definition vector.h:12