parametriccurves::Spline< Numeric, Dim, Point, SplineBase > Class Template Reference

Represents a set of cubic splines defining a continuous function crossing each of the waypoint given in its initialization. More...

#include <parametric-curves/spline.hpp>

Inheritance diagram for parametriccurves::Spline< Numeric, Dim, Point, SplineBase >:
Collaboration diagram for parametriccurves::Spline< Numeric, Dim, Point, SplineBase >:

Public Types

typedef Point point_t
 
typedef std::vector< Point, Eigen::aligned_allocator< Point > > t_point_t
 
typedef Eigen::Matrix< Numeric, Eigen::Dynamic, Eigen::Dynamic > MatrixX
 
typedef Numeric time_t
 
typedef Numeric num_t
 
typedef SplineBase spline_t
 
typedef std::vector< spline_t, Eigen::aligned_allocator< spline_t > > t_spline_t
 
typedef t_spline_t::iterator it_spline_t
 
typedef t_spline_t::const_iterator cit_spline_t
 
typedef curve_constraints< point_tspline_constraints
 
typedef AbstractCurve< Numeric, Point > curve_abc_t
 
- Public Types inherited from parametriccurves::AbstractCurve< double, Eigen::Matrix< double, Eigen::Dynamic, 1 > >
typedef Eigen::Matrix< double, Eigen::Dynamic, 1 > point_t
 
typedef double time_t
 
typedef double num_t
 

Public Member Functions

 Spline ()
 Constructor. More...
 
 Spline (const t_spline_t &subSplines)
 Constructor. More...
 
 Spline (const Spline &other)
 Copy Constructor. More...
 
 ~Spline ()
 Destructor. More...
 
template<typename In >
void createSplineFromWayPoints (In wayPointsBegin, In wayPointsEnd)
 
template<typename In >
void createSplineFromWayPointsConstr (In wayPointsBegin, In wayPointsEnd, const spline_constraints &constraints)
 
virtual const point_t operator() (const time_t &t) const
 
virtual const point_t derivate (const time_t &t, const std::size_t &order) const
 
virtual const std::size_t & size () const
 
const t_spline_tgetSubsplines () const
 
virtual bool setInitialPoint (const point_t &)
 
virtual bool setInitialPoint (const num_t &)
 
bool loadFromFile (const std::string &filename)
 
bool saveToFile (const std::string &filename) const
 Saved a Derived object as a text file. More...
 
- Public Member Functions inherited from parametriccurves::AbstractCurve< double, Eigen::Matrix< double, Eigen::Dynamic, 1 > >
 AbstractCurve (time_t t_min_, time_t t_max_)
 
 AbstractCurve ()
 
virtual ~AbstractCurve ()
 
virtual const point_t operator() (const time_t &t) const=0
 Evaluation of the cubic spline at time t. More...
 
virtual const point_t derivate (const time_t &t, const std::size_t &order) const=0
 Evaluation of the derivative spline at time t. More...
 
virtual const time_t tmin () const
 
virtual const time_t tmax () const
 
virtual bool checkRange (const time_t t) const
 
virtual bool setInitialPoint (const point_t &)=0
 
virtual bool setInitialPoint (const num_t &)=0
 
virtual bool setTimePeriod (const time_t &traj_time_)
 

Protected Attributes

t_spline_t subSplines_
 
- Protected Attributes inherited from parametriccurves::AbstractCurve< double, Eigen::Matrix< double, Eigen::Dynamic, 1 > >
time_t t_min
 
time_t t_max
 

Friends

class boost::serialization::access
 

Detailed Description

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
class parametriccurves::Spline< Numeric, Dim, Point, SplineBase >

Represents a set of cubic splines defining a continuous function crossing each of the waypoint given in its initialization.

Member Typedef Documentation

◆ cit_spline_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef t_spline_t::const_iterator parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::cit_spline_t

◆ curve_abc_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef AbstractCurve<Numeric, Point> parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::curve_abc_t

◆ it_spline_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef t_spline_t::iterator parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::it_spline_t

◆ MatrixX

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef Eigen::Matrix<Numeric, Eigen::Dynamic, Eigen::Dynamic> parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::MatrixX

◆ num_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef Numeric parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::num_t

◆ point_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef Point parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::point_t

◆ spline_constraints

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef curve_constraints<point_t> parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::spline_constraints

◆ spline_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef SplineBase parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::spline_t

◆ t_point_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef std::vector<Point, Eigen::aligned_allocator<Point> > parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::t_point_t

◆ t_spline_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef std::vector<spline_t, Eigen::aligned_allocator<spline_t> > parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::t_spline_t

◆ time_t

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
typedef Numeric parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::time_t

Constructor & Destructor Documentation

◆ Spline() [1/3]

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::Spline ( )
inline

Constructor.

◆ Spline() [2/3]

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::Spline ( const t_spline_t subSplines)
inline

Constructor.

Parameters
subSplinesvector of subsplines

◆ Spline() [3/3]

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::Spline ( const Spline< Numeric, Dim, Point, SplineBase > &  other)
inline

Copy Constructor.

◆ ~Spline()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::~Spline ( )
inline

Destructor.

Member Function Documentation

◆ createSplineFromWayPoints()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
template<typename In >
void parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::createSplineFromWayPoints ( In  wayPointsBegin,
In  wayPointsEnd 
)
inline

◆ createSplineFromWayPointsConstr()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
template<typename In >
void parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::createSplineFromWayPointsConstr ( In  wayPointsBegin,
In  wayPointsEnd,
const spline_constraints constraints 
)
inline

◆ derivate()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
virtual const point_t parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::derivate ( const time_t t,
const std::size_t &  order 
) const
inlinevirtual

◆ getSubsplines()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
const t_spline_t& parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::getSubsplines ( ) const
inline

◆ loadFromFile()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
bool parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::loadFromFile ( const std::string &  filename)
inline

◆ operator()()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
virtual const point_t parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::operator() ( const time_t t) const
inlinevirtual

◆ saveToFile()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
bool parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::saveToFile ( const std::string &  filename) const
inline

Saved a Derived object as a text file.

◆ setInitialPoint() [1/2]

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
virtual bool parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::setInitialPoint ( const num_t )
inlinevirtual

◆ setInitialPoint() [2/2]

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
virtual bool parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::setInitialPoint ( const point_t )
inlinevirtual

◆ size()

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
virtual const std::size_t& parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::size ( ) const
inlinevirtual

Friends And Related Function Documentation

◆ boost::serialization::access

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
friend class boost::serialization::access
friend

Member Data Documentation

◆ subSplines_

template<typename Numeric = double, Eigen::Index Dim = Eigen::Dynamic, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename SplineBase = Polynomial<Numeric, Dim, Point>>
t_spline_t parametriccurves::Spline< Numeric, Dim, Point, SplineBase >::subSplines_
protected

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