Thunderbots Project
Loading...
Searching...
No Matches
stadium.h
1#pragma once
2
3#include "software/geom/convex_shape.h"
4#include "software/geom/point.h"
5#include "software/geom/polygon.h"
6#include "software/geom/segment.h"
7
11class Stadium : public ConvexShape
12{
13 public:
17 Stadium() = delete;
18
25 explicit Stadium(const Segment &segment, double radius);
26
33 explicit Stadium(const Point &point1, const Point &point2, double radius);
34
43 explicit Stadium(const Point &point, const Vector &vector, double radius);
44
49 Segment segment() const;
50
55 double radius() const;
56
61 Polygon innerRectangle() const;
62
67 double area() const override;
68
69 private:
70 Segment segment_;
71 double radius_;
72};
73
82bool operator==(const Stadium &s1, const Stadium &s2);
83
92bool operator!=(const Stadium &s1, const Stadium &s2);
93
101std::ostream &operator<<(std::ostream &os, const Stadium &stadium);
Definition convex_shape.h:9
Definition point.h:14
Definition polygon.h:12
Definition segment.h:7
Definition stadium.h:12
double area() const override
Definition stadium.cpp:55
Segment segment() const
Definition stadium.cpp:32
double radius() const
Definition stadium.cpp:37
Polygon innerRectangle() const
Definition stadium.cpp:42
Stadium()=delete
Definition vector.h:12