hpp-spline  4.10.0
template based classes for creating and manipulating spline and bezier curves. Comes with extra options specific to end-effector trajectories in robotics.
spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase > Struct Template Reference

#include <hpp/spline/exact_cubic.h>

Inheritance diagram for spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >:
Collaboration diagram for spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >:

Public Types

typedef Point point_t
 
typedef T_Point t_point_t
 
typedef Eigen::Matrix< Numeric, Eigen::Dynamic, Eigen::Dynamic > MatrixX
 
typedef Time time_t
 
typedef Numeric num_t
 
typedef SplineBase spline_t
 
typedef std::vector< spline_tt_spline_t
 
typedef t_spline_t::iterator it_spline_t
 
typedef t_spline_t::const_iterator cit_spline_t
 
typedef curve_abc< Time, Numeric, Dim, Safe, Point > curve_abc_t
 
- Public Types inherited from spline::curve_abc< double, double, 3, false, Eigen::Matrix< double, 3, 1 > >
typedef Eigen::Matrix< double, 3, 1 > point_t
 
typedef double time_t
 

Public Member Functions

template<typename In >
 exact_cubic (In wayPointsBegin, In wayPointsEnd)
 Constructor. More...
 
 exact_cubic (const t_spline_t &subSplines)
 Constructor. More...
 
 exact_cubic (const exact_cubic &other)
 Copy Constructor. More...
 
virtual ~exact_cubic ()
 Destructor. More...
 
virtual point_t operator() (const time_t t) const
 Evaluation of the cubic spline at time t. More...
 
virtual point_t derivate (const time_t t, const std::size_t order) const
 Evaluation of the derivative spline at time t. More...
 
virtual num_t min () const
 
virtual num_t max () const
 
- Public Member Functions inherited from spline::curve_abc< double, double, 3, false, Eigen::Matrix< double, 3, 1 > >
 curve_abc ()
 Constructor. More...
 
virtual ~curve_abc ()
 Destructor. More...
 
virtual point_t operator() (const time_t t) const=0
 Evaluation of the cubic spline at time t. More...
 
virtual point_t derivate (const time_t t, const std::size_t order) const=0
 Evaluation of the derivative spline at time t. More...
 
virtual time_t min () const=0
 Returns the minimum time for wich curve is defined. More...
 
virtual time_t max () const=0
 Returns the maximum time for wich curve is defined. More...
 
std::pair< time_t, time_ttimeRange ()
 

Public Attributes

t_spline_t subSplines_
 

Member Typedef Documentation

◆ cit_spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef t_spline_t::const_iterator spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::cit_spline_t

◆ curve_abc_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef curve_abc<Time, Numeric, Dim, Safe, Point> spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::curve_abc_t

◆ it_spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef t_spline_t::iterator spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::it_spline_t

◆ MatrixX

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Eigen::Matrix<Numeric, Eigen::Dynamic, Eigen::Dynamic> spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::MatrixX

◆ num_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Numeric spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::num_t

◆ point_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Point spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::point_t

◆ spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef SplineBase spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_t

◆ t_point_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef T_Point spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::t_point_t

◆ t_spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef std::vector<spline_t> spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::t_spline_t

◆ time_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Time spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::time_t

Constructor & Destructor Documentation

◆ exact_cubic() [1/3]

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
template<typename In >
spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::exact_cubic ( In  wayPointsBegin,
In  wayPointsEnd 
)
inline

Constructor.

Parameters
wayPointsBegin: an iterator pointing to the first element of a waypoint container
wayPointsEns: an iterator pointing to the end of a waypoint container

◆ exact_cubic() [2/3]

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::exact_cubic ( const t_spline_t subSplines)
inline

Constructor.

Parameters
subSplinesvector of subsplines

◆ exact_cubic() [3/3]

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::exact_cubic ( const exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase > &  other)
inline

Copy Constructor.

◆ ~exact_cubic()

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
virtual spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::~exact_cubic ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ derivate()

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
virtual point_t spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::derivate ( const time_t  t,
const std::size_t  order 
) const
inlinevirtual

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)

◆ max()

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
virtual num_t spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::max ( ) const
inlinevirtual

◆ min()

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
virtual num_t spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::min ( ) const
inlinevirtual

◆ operator()()

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
virtual point_t spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::operator() ( const time_t  t) const
inlinevirtual

Evaluation of the cubic spline at time t.

Parameters
t: the time when to evaluate the spline
return: the value x(t)

Member Data Documentation

◆ subSplines_

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
t_spline_t spline::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::subSplines_

The documentation for this struct was generated from the following file: