Loading...
Searching...
No Matches
abstract-curve.hpp
Go to the documentation of this file.
1
10#include <cstddef>
11#include <iostream>
12
13#ifndef _parameteric_curves_abstract_curve_hpp
14#define _parameteric_curves_abstract_curve_hpp
15
20template <typename Numeric, typename Point>
22 typedef Point point_t;
23 typedef Numeric time_t;
24 typedef Numeric num_t;
25
26 public:
27 /* Constructors - destructors */
28 AbstractCurve(time_t t_min_, time_t t_max_) : t_min(t_min_), t_max(t_max_) {}
30 virtual ~AbstractCurve() {}
31
32 public:
36 virtual const point_t operator()(const time_t& t) const = 0;
37
42 virtual const point_t derivate(const time_t& t,
43 const std::size_t& order) const = 0;
44
45 public:
46 /*Getters*/
47 virtual const time_t tmin() const { return t_min; }
48 virtual const time_t tmax() const { return t_max; }
49 virtual bool checkRange(const time_t t) const {
50 return (t >= t_min) && (t <= t_max);
51 }
52
53 /* Setters */
54 virtual bool setInitialPoint(const point_t& /*x_init*/) = 0;
55 virtual bool setInitialPoint(const num_t& /*x_init*/) = 0;
56
57 virtual bool setTimePeriod(const time_t& traj_time_) {
58 t_min = 0.0;
59 t_max = traj_time_;
60 return true;
61 }
62
63 protected:
66};
67} // namespace parametriccurves
68#endif //_STRUCT_CURVE_ABC
Definition: abstract-curve.hpp:16
Represents a curve of dimension Dim is Safe is false, no verification is made on the evaluation of th...
Definition: abstract-curve.hpp:21
virtual const time_t tmin() const
Definition: abstract-curve.hpp:47
virtual const point_t derivate(const time_t &t, const std::size_t &order) const =0
Evaluation of the derivative spline at time t.
virtual const time_t tmax() const
Definition: abstract-curve.hpp:48
virtual bool checkRange(const time_t t) const
Definition: abstract-curve.hpp:49
Numeric num_t
Definition: abstract-curve.hpp:24
time_t t_max
Definition: abstract-curve.hpp:65
Numeric time_t
Definition: abstract-curve.hpp:23
virtual bool setInitialPoint(const point_t &)=0
Point point_t
Definition: abstract-curve.hpp:22
time_t t_min
Definition: abstract-curve.hpp:64
virtual ~AbstractCurve()
Definition: abstract-curve.hpp:30
AbstractCurve(time_t t_min_, time_t t_max_)
Definition: abstract-curve.hpp:28
virtual bool setInitialPoint(const num_t &)=0
virtual const point_t operator()(const time_t &t) const =0
Evaluation of the cubic spline at time t.
AbstractCurve()
Definition: abstract-curve.hpp:29
virtual bool setTimePeriod(const time_t &traj_time_)
Definition: abstract-curve.hpp:57