11 #include <Eigen/Geometry>
22 :
Spline<Eigen::Matrix3d, std::vector<std::pair<double, Eigen::Matrix3d>>>
37 const Eigen::Matrix3d & start,
38 const Eigen::Matrix3d & target,
39 const std::vector<waypoint_t> & waypoints = {});
49 Eigen::Matrix3d
eval(
double t);
56 void waypoint(
size_t idx,
const Eigen::Matrix3d & ori);
#define MC_TRAJECTORY_DLLAPI
Definition: api.h:50
Describes a trajectory with smoothly interpolate rotation between waypoints.
Definition: InterpolatedRotation.h:23
void update() override
Triggers recreation of the curve. Will only occur if the curve parameters were modified (waypoints,...
InterpolatedRotation(double duration, const Eigen::Matrix3d &start, const Eigen::Matrix3d &target, const std::vector< waypoint_t > &waypoints={})
Creates a trajectory that smoothly interpolates rotation in-between waypoints.
Eigen::Matrix3d eval(double t)
Evaluate the orientation at time t.
std::vector< waypoint_t > all_waypoints_
Definition: InterpolatedRotation.h:66
const waypoint_t & waypoint(size_t idx) const
Gets an existing waypoint.
void waypoint(size_t idx, const Eigen::Matrix3d &ori)
Modifies an existing waypoint.
std::pair< double, Eigen::Matrix3d > waypoint_t
Definition: InterpolatedRotation.h:24