typedef Point point_t
typedef const Eigen::Ref< const point_t > point_ref_t
typedef T_Point t_point_t
typedef Eigen::Matrix< Numeric, Eigen::Dynamic, Eigen::Dynamic > MatrixX
typedef Eigen::Matrix< Numeric, 3, 3 > Matrix3
typedef Time time_t
typedef Numeric num_t
typedef SplineBase spline_t
typedef std::vector< 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 > spline_constraints
typedef exact_cubic < Time, Numeric, Safe, point_t , T_Point, SplineBase > exact_cubic_t
typedef curve_abc < Time, Numeric, Safe, point_t > curve_abc_t
typedef piecewise_curve < Time, Numeric, Safe, point_t > piecewise_curve_t
typedef polynomial < Time, Numeric, Safe, point_t > polynomial_t
typedef piecewise_curve_t::t_curve_ptr_t t_curve_ptr_t
typedef Point point_t
typedef Point_derivate point_derivate_t
typedef std::vector< point_t , Eigen::aligned_allocator< point_t > > t_point_t
typedef std::vector< point_derivate_t , Eigen::aligned_allocator< point_derivate_t > > t_point_derivate_t
typedef Time time_t
typedef Numeric num_t
typedef curve_abc < Time, Numeric, Safe, point_t , point_derivate_t > base_curve_t
typedef CurveType curve_t
typedef boost::shared_ptr< curve_t > curve_ptr_t
typedef std::vector< curve_ptr_t > t_curve_ptr_t
typedef std::vector< Time > t_time_t
typedef piecewise_curve < Time, Numeric, Safe, Point, Point_derivate, CurveType > piecewise_curve_t
typedef piecewise_curve < Time, Numeric, Safe, Point_derivate, Point_derivate, typename CurveType::curve_derivate_t > piecewise_curve_derivate_t
typedef boost::shared_ptr< typename piecewise_curve_derivate_t::curve_t > curve_derivate_ptr_t
typedef Point point_t
typedef Point_derivate point_derivate_t
typedef Time time_t
typedef Numeric num_t
typedef curve_abc < Time, Numeric, Safe, point_t , point_derivate_t > curve_t
typedef curve_abc < Time, Numeric, Safe, point_derivate_t > curve_derivate_t
typedef boost::shared_ptr< curve_t > curve_ptr_t
exact_cubic ()
Empty constructor. Add at least one curve to call other class functions. More...
template<typename In >
exact_cubic (In wayPointsBegin, In wayPointsEnd)
Constructor. More...
template<typename In >
exact_cubic (In wayPointsBegin, In wayPointsEnd, const spline_constraints &constraints)
Constructor. More...
exact_cubic (const t_spline_t &subSplines)
Constructor. More...
exact_cubic (const t_curve_ptr_t &subSplines)
exact_cubic (const exact_cubic &other)
Copy Constructor. More...
virtual ~exact_cubic ()
Destructor. More...
std::size_t getNumberSplines ()
spline_t getSplineAt (std::size_t index)
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
piecewise_curve ()
Empty constructor. Add at least one curve to call other class functions. More...
piecewise_curve (const curve_ptr_t &cf)
Constructor. Initialize a piecewise curve by giving the first curve. More...
piecewise_curve (const t_curve_ptr_t &curves_list)
piecewise_curve (const piecewise_curve &other)
virtual ~piecewise_curve ()
virtual point_t operator() (const Time t) const
Evaluation of the cubic spline at time t. More...
bool isApprox (const piecewise_curve_t &other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const
isApprox check if other and *this are approximately equals. Only two curves of the same class can be approximately equals, for comparison between different type of curves see isEquivalent More...
virtual bool isApprox (const base_curve_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const
isApprox check if other and *this are approximately equal given a precision treshold Only two curves of the same class can be approximately equal, for comparison between different type of curves see isEquivalent. More...
virtual bool operator== (const piecewise_curve_t &other) const
virtual bool operator!= (const piecewise_curve_t &other) const
virtual point_derivate_t derivate (const Time t, const std::size_t order) const
Evaluate the derivative of order N of curve at time t. More...
piecewise_curve_derivate_t * compute_derivate_ptr (const std::size_t order) const
compute_derivate return a piecewise_curve which is the derivative of this at given order More...
template<typename Curve >
void add_curve (const Curve &curve)
void add_curve_ptr (const curve_ptr_t &cf)
Add a new curve to piecewise curve, which should be defined in where is equal to of the actual piecewise curve. The curve added should be of type Curve as defined in the template. More...
bool is_continuous (const std::size_t order)
Check if the curve is continuous of order given. More...
std::size_t num_curves () const
Get number of curves in piecewise curve. More...
curve_ptr_t curve_at_time (const time_t t) const
Get curve corresponding to time t in piecewise curve. Example : A piecewise curve PC made of two curves : c1 for t in [0,1] and c2 for t in ]1,2]. PC.curve_at_time(0.5) will return c1. More...
curve_ptr_t curve_at_index (const std::size_t idx) const
Get curve at specified index in piecewise curve. More...
template<typename Bezier >
piecewise_curve_t convert_piecewise_curve_to_bezier ()
Convert all curves in piecewise curve into bezier curves. More...
template<typename Hermite >
piecewise_curve_t convert_piecewise_curve_to_cubic_hermite ()
Convert all curves in piecewise curve into cubic hermite curves. Curves need to be of degree inferior or equal to three. More...
template<typename Polynomial >
piecewise_curve_t convert_piecewise_curve_to_polynomial ()
Convert all curves in piecewise curve into polynomial curves. More...
virtual std::size_t dim () const
Get dimension of curve. More...
virtual Time min () const
Get the minimum time for which the curve is defined. More...
virtual Time max () const
Get the maximum time for which the curve is defined. More...
virtual std::size_t degree () const
Get the degree of the curve. More...
std::size_t getNumberCurves ()
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
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 curve_derivate_t * compute_derivate_ptr (const std::size_t order) const =0
Compute the derived curve at order N. More...
virtual point_derivate_t derivate (const time_t t, const std::size_t order) const =0
Evaluate the derivative of order N of curve at time t. More...
bool isEquivalent (const curve_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision(), const size_t order=5) const
isEquivalent check if other and *this are approximately equal by values, given a precision treshold. This test is done by discretizing both curves and evaluating them and their derivatives. More...
virtual bool isApprox (const curve_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const =0
isApprox check if other and *this are approximately equal given a precision treshold Only two curves of the same class can be approximately equal, for comparison between different type of curves see isEquivalent. More...
virtual std::size_t dim () const =0
Get dimension of curve. More...
virtual time_t min () const =0
Get the minimum time for which the curve is defined. More...
virtual time_t max () const =0
Get the maximum time for which the curve is defined. More...
virtual std::size_t degree () const =0
Get the degree of the curve. More...
std::pair< time_t , time_t > timeRange ()
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
template<class Derived >
void loadFromText (const std::string &filename)
Loads a Derived object from a text file. More...
template<class Derived >
void saveAsText (const std::string &filename) const
Saved a Derived object as a text file. More...
template<class Derived >
void loadFromXML (const std::string &filename, const std::string &tag_name)
Loads a Derived object from an XML file. More...
template<class Derived >
void saveAsXML (const std::string &filename, const std::string &tag_name) const
Saved a Derived object as an XML file. More...
template<class Derived >
void loadFromBinary (const std::string &filename)
Loads a Derived object from an binary file. More...
template<class Derived >
void saveAsBinary (const std::string &filename) const
Saved a Derived object as an binary file. More...