PathPlannerLib
Loading...
Searching...
No Matches
EventMarker.h
1#pragma once
2
3#include <frc2/command/Commands.h>
4#include <frc/geometry/Translation2d.h>
5#include <frc/geometry/Pose2d.h>
6#include <units/length.h>
7#include <memory>
8#include <wpi/json.h>
9
10namespace pathplanner {
12public:
22 EventMarker(std::string triggerName, double waypointRelativePos,
23 double endWaypointRelativePos, frc2::CommandPtr &&command) : m_triggerName(
24 triggerName), m_pos(waypointRelativePos), m_endWaypointRelativePos(
25 endWaypointRelativePos), m_command(std::move(command).Unwrap()) {
26 }
27
36 EventMarker(std::string triggerName, double waypointRelativePos,
37 double endWaypointRelativePos) : EventMarker(triggerName,
38 waypointRelativePos, endWaypointRelativePos, frc2::cmd::None()) {
39 }
40
48 EventMarker(std::string triggerName, double waypointRelativePos,
49 frc2::CommandPtr &&command) : EventMarker(triggerName,
50 waypointRelativePos, -1.0, std::move(command)) {
51 }
52
59 EventMarker(std::string triggerName, double waypointRelativePos) : EventMarker(
60 triggerName, waypointRelativePos, -1.0, frc2::cmd::None()) {
61 }
62
72 EventMarker(std::string triggerName, double waypointRelativePos,
73 double endWaypointRelativePos,
74 std::shared_ptr<frc2::Command> command) : m_triggerName(
75 triggerName), m_pos(waypointRelativePos), m_endWaypointRelativePos(
76 endWaypointRelativePos), m_command(command) {
77 }
78
86 EventMarker(std::string triggerName, double waypointRelativePos,
87 std::shared_ptr<frc2::Command> command) : EventMarker(triggerName,
88 waypointRelativePos, -1.0, command) {
89 }
90
97 static EventMarker fromJson(const wpi::json &json);
98
104 std::shared_ptr<frc2::Command> getCommand() const {
105 return m_command;
106 }
107
113 constexpr double getWaypointRelativePos() const {
114 return m_pos;
115 }
116
123 constexpr double getEndWaypointRelativePos() const {
124 return m_endWaypointRelativePos;
125 }
126
132 constexpr const std::string& getTriggerName() {
133 return m_triggerName;
134 }
135
136private:
137 std::string m_triggerName;
138 double m_pos;
139 double m_endWaypointRelativePos;
140 std::shared_ptr<frc2::Command> m_command;
141};
142}
Definition: EventMarker.h:11
EventMarker(std::string triggerName, double waypointRelativePos)
Definition: EventMarker.h:59
std::shared_ptr< frc2::Command > getCommand() const
Definition: EventMarker.h:104
static EventMarker fromJson(const wpi::json &json)
Definition: EventMarker.cpp:6
constexpr double getWaypointRelativePos() const
Definition: EventMarker.h:113
EventMarker(std::string triggerName, double waypointRelativePos, double endWaypointRelativePos, frc2::CommandPtr &&command)
Definition: EventMarker.h:22
EventMarker(std::string triggerName, double waypointRelativePos, std::shared_ptr< frc2::Command > command)
Definition: EventMarker.h:86
constexpr double getEndWaypointRelativePos() const
Definition: EventMarker.h:123
EventMarker(std::string triggerName, double waypointRelativePos, double endWaypointRelativePos, std::shared_ptr< frc2::Command > command)
Definition: EventMarker.h:72
constexpr const std::string & getTriggerName()
Definition: EventMarker.h:132
EventMarker(std::string triggerName, double waypointRelativePos, frc2::CommandPtr &&command)
Definition: EventMarker.h:48
EventMarker(std::string triggerName, double waypointRelativePos, double endWaypointRelativePos)
Definition: EventMarker.h:36