46 std::unique_ptr<std::vector<Pillar>>
pillars;
177 static bool lineIntersectsCircle(
double cx,
double cy,
double r,
double x1,
double y1,
double x2,
double y2);
216 std::unique_ptr<std::vector<Pillar>>
getPillars();
259 const double possibleRadii[] = {5.1, 7.62, 10.16, 12.7};
260 double closest = possibleRadii[0];
261 double minDiff = std::abs(radius - possibleRadii[0]);
263 for (
double r : possibleRadii) {
264 double diff = std::abs(radius - r);
265 if (diff < minDiff) {
std::unique_ptr< std::vector< Pillar > > pillars
int32_t getDesiredIndex() const
void updateBotPose(const Pose2D &updatedPosition)
static bool lineIntersectsCircle(Pillar p1, const Pose2D &one, const Pose2D &two)
std::vector< Pillar > getCopyPillars()
std::unique_ptr< std::vector< Pillar > > getPillars()
bool validLocationForNode(const Pose2D &location)
std::vector< Pillar > newPillars
Field(const std::unique_ptr< std::vector< Pillar > > &pillars, const Pose2D &desired_destination, const Pillar &bot_pose, const Graph< Pose2D > &graph)
Pose2D getDesiredDestination()
static bool lineIntersectsCircle(double cx, double cy, double r, double x1, double y1, double x2, double y2)
HoleManager & getManager()
void addPillar(Pillar &newPillar)
void setPillars(std::unique_ptr< std::vector< Pillar > > pillars)
void updateDesired(const Pose2D &other)
std::vector< Pose2D > makePath()
void addEdgeMeasurement(double rawPosition, Cardinality cardinality)
void setDesiredIndex(int32_t index)
static bool outOfBounds(const Pose2D &location)
static double roundRadius(double radius)
Graph< Pose2D > & getGraph()
void applyOffsetToEdge(double x, double y)
Pose2D desiredDestination