ChoreoLib
Loading...
Searching...
No Matches
ChoreoTrajectory.h
1// Copyright (c) Choreo contributors
2
3#pragma once
4
5#include <vector>
6
7#include "ChoreoTrajectoryState.h"
8
9namespace choreolib {
14 public:
15 ChoreoTrajectory() = default;
16
22 explicit ChoreoTrajectory(const std::vector<ChoreoTrajectoryState>& states);
23
33 ChoreoTrajectoryState Sample(units::second_t timestamp,
34 bool mirrorForRedAlliance = false);
35
41 frc::Pose2d GetInitialPose() const;
42
48 frc::Pose2d GetFlippedInitialPose() const;
49
55 frc::Pose2d GetFinalPose() const;
56
62 frc::Pose2d GetFlippedFinalPose() const;
63
69 units::second_t GetTotalTime() const;
70
76 std::vector<frc::Pose2d> GetPoses() const;
77
84
90 std::vector<ChoreoTrajectoryState> GetSamples() const;
91
97 void SetSamples(const std::vector<ChoreoTrajectoryState>& newSamples);
98
99 private:
100 ChoreoTrajectoryState SampleInternal(units::second_t timestamp);
101 std::vector<ChoreoTrajectoryState> samples;
102};
103
104void to_json(wpi::json& json, const ChoreoTrajectory& traj);
105void from_json(const wpi::json& json, ChoreoTrajectory& traj);
106} // namespace choreolib
A single state in a ChoreoTrajectory.
Definition ChoreoTrajectoryState.h:11
Definition ChoreoTrajectory.h:13
std::vector< frc::Pose2d > GetPoses() const
Definition ChoreoTrajectory.cpp:78
units::second_t GetTotalTime() const
Definition ChoreoTrajectory.cpp:74
ChoreoTrajectoryState Sample(units::second_t timestamp, bool mirrorForRedAlliance=false)
Definition ChoreoTrajectory.cpp:52
ChoreoTrajectory Flipped() const
Definition ChoreoTrajectory.cpp:88
void SetSamples(const std::vector< ChoreoTrajectoryState > &newSamples)
Definition ChoreoTrajectory.cpp:100
std::vector< ChoreoTrajectoryState > GetSamples() const
Definition ChoreoTrajectory.cpp:96
frc::Pose2d GetInitialPose() const
Definition ChoreoTrajectory.cpp:58
frc::Pose2d GetFlippedFinalPose() const
Definition ChoreoTrajectory.cpp:70
frc::Pose2d GetFinalPose() const
Definition ChoreoTrajectory.cpp:66
frc::Pose2d GetFlippedInitialPose() const
Definition ChoreoTrajectory.cpp:62