4#include <frc/geometry/Translation2d.h>
5#include <frc/geometry/Rotation2d.h>
7#include "pathplanner/lib/util/FlippingUtil.h"
8#include "pathplanner/lib/util/JSONUtil.h"
10namespace pathplanner {
25 frc::Rotation2d rotationOffset,
double minWaypointRelativePos,
26 double maxWaypointRelativePos) : m_name(name), m_targetPos(
27 targetPosition), m_rotationOffset(rotationOffset), m_minPos(
28 minWaypointRelativePos), m_maxPos(maxWaypointRelativePos) {
40 double minWaypointRelativePos,
double maxWaypointRelativePos) :
PointTowardsZone(
41 name, targetPosition, frc::Rotation2d(), minWaypointRelativePos,
42 maxWaypointRelativePos) {
52 std::string name = json.at(
"name").get<std::string>();
53 frc::Translation2d targetPos = JSONUtil::translation2dFromJson(
54 json.at(
"fieldPosition"));
55 frc::Rotation2d rotationOffset = frc::Rotation2d(
56 units::degree_t { json.at(
"rotationOffset").get<double>() });
57 double minPos = json.at(
"minWaypointRelativePos").get<
double>();
58 double maxPos = json.at(
"maxWaypointRelativePos").get<
double>();
62 constexpr const std::string& getName() {
81 return m_rotationOffset;
108 inline bool operator==(
const PointTowardsZone &other)
const {
109 return m_name == other.m_name
110 && std::abs(m_minPos - other.m_minPos) < 1E-9
111 && std::abs(m_maxPos - other.m_maxPos) < 1E-9
112 && m_targetPos == other.m_targetPos
113 && m_rotationOffset == other.m_rotationOffset;
118 frc::Translation2d m_targetPos;
119 frc::Rotation2d m_rotationOffset;
static frc::Translation2d flipFieldPosition(const frc::Translation2d &pos)
Definition: FlippingUtil.h:26
Definition: PointTowardsZone.h:11
PointTowardsZone(std::string name, frc::Translation2d targetPosition, frc::Rotation2d rotationOffset, double minWaypointRelativePos, double maxWaypointRelativePos)
Definition: PointTowardsZone.h:24
static PointTowardsZone fromJson(const wpi::json &json)
Definition: PointTowardsZone.h:51
PointTowardsZone(std::string name, frc::Translation2d targetPosition, double minWaypointRelativePos, double maxWaypointRelativePos)
Definition: PointTowardsZone.h:39
constexpr double getMinWaypointRelativePos() const
Definition: PointTowardsZone.h:89
constexpr double getMaxWaypointRelativePos() const
Definition: PointTowardsZone.h:98
constexpr frc::Translation2d & getTargetPosition()
Definition: PointTowardsZone.h:71
constexpr frc::Rotation2d & getRotationOffset()
Definition: PointTowardsZone.h:80