Drake
trajectory.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include <Eigen/Core>
6 
8 
9 namespace drake {
10 
14 class Trajectory {
15  public:
16  virtual ~Trajectory() {}
17 
22  virtual std::unique_ptr<Trajectory> Clone() const = 0;
23 
29  virtual drake::MatrixX<double> value(double t) const = 0;
30 
37  virtual std::unique_ptr<Trajectory> derivative(
38  int derivative_order = 1) const = 0;
39 
43  virtual Eigen::Index rows() const = 0;
44 
48  virtual Eigen::Index cols() const = 0;
49 
50  virtual double get_start_time() const = 0;
51  virtual double get_end_time() const = 0;
52 };
53 
54 } // namespace drake
virtual drake::MatrixX< double > value(double t) const =0
Evaluates the trajectory at the given time t.
virtual Eigen::Index rows() const =0
This file contains abbreviated definitions for certain specializations of Eigen::Matrix that are comm...
virtual Eigen::Index cols() const =0
A Trajectory represents a time-varying matrix of doubles.
Definition: trajectory.h:14
Definition: automotive_demo.cc:88
virtual std::unique_ptr< Trajectory > Clone() const =0
virtual ~Trajectory()
Definition: trajectory.h:16
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > MatrixX
A matrix of dynamic size, templated on scalar type.
Definition: eigen_types.h:87
virtual double get_start_time() const =0
virtual std::unique_ptr< Trajectory > derivative(int derivative_order=1) const =0
Takes the derivative of this Trajectory.
virtual double get_end_time() const =0