Thunderbots Project
Loading...
Searching...
No Matches
field_pitch_division.h
1#pragma once
2#include "software/geom/rectangle.h"
3#include "software/world/field.h"
4
11template <class ZoneEnum>
13{
14 static_assert(std::is_enum<ZoneEnum>::value,
15 "FieldPitchDivision: ZoneEnum must be an enum");
16
17 public:
18 FieldPitchDivision() = default;
19 virtual ~FieldPitchDivision() = default;
20
32 virtual const Rectangle& getZone(ZoneEnum zone_id) const = 0;
33
40 virtual ZoneEnum getZoneId(const Point& position) const = 0;
41
47 virtual const std::vector<ZoneEnum>& getAllZoneIds() const = 0;
48};
Definition field_pitch_division.h:13
virtual const std::vector< ZoneEnum > & getAllZoneIds() const =0
virtual ZoneEnum getZoneId(const Point &position) const =0
virtual const Rectangle & getZone(ZoneEnum zone_id) const =0
Definition point.h:14
Definition rectangle.h:10