Roomba Controller Dashboard 1
A GUI and TCP client application that is used to control a Roomba for Computer Engineering 2880 @ Iowa State
Loading...
Searching...
No Matches
HoleManager.hpp
Go to the documentation of this file.
1
5#ifndef HOLE_MANAGER_H
6#define HOLE_MANAGER_H
7
8#include "Hole.hpp"
9#include "util.hpp"
10
11#define sideLength 0.6096 // 2 by 2 squares in feet. meters
12#define MEASUREMENT_WIDTH 0.05 // meters
13
19 private:
23 std::unique_ptr<std::vector<Hole>> holes;
24
28 std::unique_ptr<std::vector<Pose2D>> holeMeasurements;
29 public:
34
39 void addPoint(const Pose2D& position);
40
46 Hole getHole(uint8_t index);
47
52 void addHole(const Hole& hole);
53
59 void addHole(const Pose2D& cornerOne, const Pose2D& cornerTwo);
60
64 std::vector<Hole> getHoles();
65
69 std::vector<Pose2D> getPointsOnHoles();
70
74 std::vector<Pose2D> getSuggestedNodePlacements();
75
81 bool nodeCollides(Pose2D position);
82
86 bool lineIntersectsAnyHoleMeasurement(const Pose2D& positionOne, const Pose2D& positionTwo);
87
91 void offsetAll(const Pose2D& offset) const;
92
93};
94
95
96#endif //HOLE_MANAGER_H
void offsetAll(const Pose2D &offset) const
bool lineIntersectsAnyHoleMeasurement(const Pose2D &positionOne, const Pose2D &positionTwo)
void addPoint(const Pose2D &position)
bool nodeCollides(Pose2D position)
Hole getHole(uint8_t index)
std::vector< Hole > getHoles()
std::vector< Pose2D > getSuggestedNodePlacements()
std::vector< Pose2D > getPointsOnHoles()
void addHole(const Hole &hole)
Definition Hole.hpp:20