constant.hpp
Go to the documentation of this file.
1 
9 #ifndef _parameteric_curves_constant_hpp
10 #define _parameteric_curves_constant_hpp
11 
13 
14 namespace parametriccurves {
15 
20 template <typename Numeric = double, Eigen::Index Dim = 1,
21  typename Point = Eigen::Matrix<Numeric, Dim, 1> >
22 struct Constant : public AbstractCurve<Numeric, Point> {
23  typedef Point point_t;
24  typedef Numeric time_t;
25  typedef Numeric num_t;
27 
28  public:
30 
31  Constant(const time_t& traj_time,
32  const point_t& x_init_ = Eigen::Matrix<Numeric, Dim, 1>::Zero())
33  : curve_abc_t(0, traj_time), x_init(x_init_) {}
34 
36  ~Constant() {}
37 
38  public:
39  virtual const point_t operator()(const time_t& t) const { return x_init; }
40 
41  virtual const point_t derivate(const time_t& t,
42  const std::size_t& order) const {
43  return point_t::Zero();
44  }
45 
46  virtual bool setInitialPoint(const point_t& x_init_) {
47  if (x_init.size() != x_init_.size()) return false;
48  x_init = x_init_;
49  }
50 
51  virtual bool setInitialPoint(const double& x_init_) {
52  if (Dim != 1) return false;
53  x_init[0] = x_init_;
54  return true;
55  }
56 
57  protected:
58  /*Attributes*/
60 };
61 } // namespace parametriccurves
62 #endif //_CLASS_EXACTCUBIC
Definition: abstract-curve.hpp:16
Eigen::Matrix< Numeric, 3, 1 > Point
Definition: effector_spline.h:28
double Numeric
Definition: effector_spline.h:26
Represents a curve of dimension Dim is Safe is false, no verification is made on the evaluation of th...
Definition: abstract-curve.hpp:21
Definition: constant.hpp:22
Constant(const time_t &traj_time, const point_t &x_init_=Eigen::Matrix< Numeric, Dim, 1 >::Zero())
Constructor.
Definition: constant.hpp:31
~Constant()
Destructor.
Definition: constant.hpp:36
Point point_t
Definition: constant.hpp:23
Numeric num_t
Definition: constant.hpp:25
virtual const point_t operator()(const time_t &t) const
Definition: constant.hpp:39
point_t x_init
Definition: constant.hpp:59
Numeric time_t
Definition: constant.hpp:24
virtual const point_t derivate(const time_t &t, const std::size_t &order) const
Definition: constant.hpp:41
virtual bool setInitialPoint(const double &x_init_)
Definition: constant.hpp:51
virtual bool setInitialPoint(const point_t &x_init_)
Definition: constant.hpp:46
AbstractCurve< Numeric, Point > curve_abc_t
Definition: constant.hpp:26