#include <ndcurves/cubic_hermite_spline.h>


Public Member Functions | |
| cubic_hermite_spline () | |
| Empty constructor. Curve obtained this way can not perform other class functions. | |
| template<typename In > | |
| cubic_hermite_spline (In PairsBegin, In PairsEnd, const vector_time_t &time_control_points) | |
| Constructor. | |
| cubic_hermite_spline (const cubic_hermite_spline &other) | |
| virtual | ~cubic_hermite_spline () |
| Destructor. | |
| virtual Point | operator() (const time_t t) const |
| Evaluation of the cubic hermite spline at time t. | |
| bool | isApprox (const cubic_hermite_spline_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 | |
| virtual bool | isApprox (const curve_abc_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const |
| virtual bool | operator== (const cubic_hermite_spline_t &other) const |
| virtual bool | operator!= (const cubic_hermite_spline_t &other) const |
| virtual Point | derivate (const time_t t, const std::size_t order) const |
| Evaluate the derivative of order N of spline at time t. | |
| piecewise_bezier_t | compute_derivate (const std::size_t order) const |
| piecewise_bezier_t * | compute_derivate_ptr (const std::size_t order) const |
| Compute the derived curve at order N. | |
| void | setTime (const vector_time_t &time_control_points) |
| Set time of each control point of cubic hermite spline. Set duration of each spline, Exemple : | |
| t_pair_point_tangent_t | getControlPoints () |
| Get vector of pair (positition, derivative) corresponding to control points. | |
| vector_time_t | getTime () |
| Get vector of Time corresponding to Time for each control point. | |
| std::size_t | size () const |
| Get number of control points contained in the trajectory. | |
| std::size_t | numIntervals () const |
| Get number of intervals (subsplines) contained in the trajectory. | |
| virtual std::size_t | dim () const |
| Get dimension of curve. | |
| virtual Time | min () const |
| Get the minimum time for which the curve is defined. | |
| virtual Time | max () const |
| Get the maximum time for which the curve is defined. | |
| virtual std::size_t | degree () const |
| Get the degree of the curve. | |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Public Member Functions inherited from ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate > | |
| curve_abc () | |
| Constructor. | |
| virtual | ~curve_abc () |
| Destructor. | |
| 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 threshold. This test is done by discretizing both curves and evaluating them and their derivatives. | |
| 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 threshold Only two curves of the same class can be approximately equal, for comparison between different type of curves see isEquivalent. | |
| std::pair< time_t, time_t > | timeRange () |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Public Member Functions inherited from ndcurves::serialization::Serializable | |
| template<class Derived > | |
| void | loadFromText (const std::string &filename) |
| Loads a Derived object from a text file. | |
| template<class Derived > | |
| void | saveAsText (const std::string &filename) const |
| Saved a Derived object as a text file. | |
| template<class Derived > | |
| void | loadFromXML (const std::string &filename, const std::string &tag_name) |
| Loads a Derived object from an XML file. | |
| template<class Derived > | |
| void | saveAsXML (const std::string &filename, const std::string &tag_name) const |
| Saved a Derived object as an XML file. | |
| template<class Derived > | |
| void | loadFromBinary (const std::string &filename) |
| Loads a Derived object from an binary file. | |
| template<class Derived > | |
| void | saveAsBinary (const std::string &filename) const |
| Saved a Derived object as an binary file. | |
Public Attributes | |
| std::size_t | dim_ |
| Dim of curve. | |
| t_pair_point_tangent_t | control_points_ |
| Vector of pair < Point, Tangent >. | |
| vector_time_t | time_control_points_ |
| vector_time_t | duration_splines_ |
| Time | T_min_ |
| Time | T_max_ |
| std::size_t | size_ |
| Number of control points (pairs). | |
| std::size_t | degree_ |
| Degree (Cubic so degree 3) | |
Friends | |
| class | boost::serialization::access |
| typedef bezier_curve<Time, Numeric, Safe, point_t> ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::bezier_t |
| typedef cubic_hermite_spline<Time, Numeric, Safe, point_t> ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::cubic_hermite_spline_t |
| typedef curve_abc<Time, Numeric, Safe, point_t> ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::curve_abc_t |
| typedef Numeric ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::num_t |
| typedef std::pair<Point, Point> ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::pair_point_tangent_t |
| typedef piecewise_curve<Time, Numeric, Safe, point_t, point_t, bezier_t> ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::piecewise_bezier_t |
| typedef Point ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::point_t |
| typedef std::vector<pair_point_tangent_t, Eigen::aligned_allocator<pair_point_tangent_t> > ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::t_pair_point_tangent_t |
| typedef bezier_t::t_point_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::t_point_t |
| typedef Time ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::time_t |
| typedef std::vector<Time> ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::vector_time_t |
|
inline |
Empty constructor. Curve obtained this way can not perform other class functions.
|
inline |
Constructor.
| PairsBegin | : an iterator pointing to the first element of a pair(position, derivative) container. |
| PairsEnd | : an iterator pointing to the last element of a pair(position, derivative) container. |
| time_control_points | : vector containing time for each waypoint. |
|
inline |
|
inlinevirtual |
Destructor.
|
inline |
|
inlinevirtual |
Compute the derived curve at order N.
| order | : order of derivative. |

Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inlinevirtual |
Get the degree of the curve.

Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inlinevirtual |
Evaluate the derivative of order N of spline at time t.
| t | : time when to evaluate the spline. |
| order | : order of derivative. |

Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inlinevirtual |
Get dimension of curve.
Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inline |
Get vector of pair (positition, derivative) corresponding to control points.
|
inline |
Get vector of Time corresponding to Time for each control point.
|
inline |
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
| other | the other curve to check |
| prec | the precision threshold, default Eigen::NumTraits<Numeric>::dummy_precision() |
|
inlinevirtual |
|
inlinevirtual |
Get the maximum time for which the curve is defined.

Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inlinevirtual |
Get the minimum time for which the curve is defined.

Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inline |
Get number of intervals (subsplines) contained in the trajectory.
|
inlinevirtual |
|
inlinevirtual |
Evaluation of the cubic hermite spline at time t.
| t | : time when to evaluate the spline. |

Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.
|
inlinevirtual |
|
inline |
|
inline |
Set time of each control point of cubic hermite spline. Set duration of each spline, Exemple : 

| time_control_points | : Vector containing time for each control point. |
|
inline |
Get number of control points contained in the trajectory.
|
friend |
| t_pair_point_tangent_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::control_points_ |
Vector of pair < Point, Tangent >.
| std::size_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::degree_ |
Degree (Cubic so degree 3)
| std::size_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::dim_ |
Dim of curve.
| vector_time_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::duration_splines_ |
Vector of Time corresponding to time duration of each subspline.
For N control points with time 
It contains 
| std::size_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::size_ |
Number of control points (pairs).
| Time ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::T_max_ |
Ending time of cubic hermite spline : T_max_ is equal to last time of control points.
| Time ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::T_min_ |
Starting time of cubic hermite spline : T_min_ is equal to first time of control points.
| vector_time_t ndcurves::cubic_hermite_spline< Time, Numeric, Safe, Point >::time_control_points_ |
Vector of Time corresponding to time of each N control points : time at 

