Represents a polynomf arbitrary order defined on the interval [tBegin, tEnd].
More...
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
class curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >
Represents a polynomf arbitrary order defined on the interval [tBegin, tEnd].
It follows the equation x(t) = a + b(t - t_min_) + ... + d(t - t_min_)^N, where N is the order
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
typedef Eigen::Matrix<double, Dim, Eigen::Dynamic> curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coeff_t |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
Constructor.
- Parameters
-
coefficients | : a reference to an Eigen matrix where each column is a coefficient, from the zero order coefficient, up to the highest order. Spline order is given by the number of the columns -1. |
min | LOWER bound on interval definition of the spline |
max | UPPER bound on interval definition of the spline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
Constructor.
- Parameters
-
coefficients | : a container containing all coefficients of the spline, starting with the zero order coefficient, up to the highest order. Spline order is given by the size of the coefficients |
min | LOWER bound on interval definition of the spline |
max | UPPER bound on interval definition of the spline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename In >
Constructor.
- Parameters
-
zeroOrderCoefficient | : an iterator pointing to the first element of a structure containing the coefficients it corresponds to the zero degree coefficient |
out | : an iterator pointing to the last element of a structure ofcoefficients |
min | LOWER bound on interval definition of the spline |
max | UPPER bound on interval definition of the spline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::polynom |
( |
const polynom< Time, Numeric, Dim, Safe, Point, T_Point > & |
other | ) |
|
|
inline |
References curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coefficients_, and curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
Evaluation of the derivative spline at time t.
- Parameters
-
t | : the time when to evaluate the spline |
order | : order of the derivative |
return | : the value x(t) |
Implements curve::curve_abc< Time, Numeric, Dim, Safe, Point >.
References curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coefficients_, and curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_.
Referenced by curve::helpers::compute_required_offset_velocity_acceleration().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
Evaluation of the cubic spline at time t using horner's scheme.
- Parameters
-
t | : the time when to evaluate the spine |
return | : the value x(t) |
Implements curve::curve_abc< Time, Numeric, Dim, Safe, Point >.
References curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coefficients_, and curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
Referenced by curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::derivate(), curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::operator()(), and curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::polynom().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
std::size_t curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::dim_ |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point,Eigen::aligned_allocator<Point> >>
std::size_t curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_ |
Referenced by curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::derivate(), curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::operator()(), and curve::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::polynom().