|
| typedef Point | point_t |
| typedef std::pair< Point, Point > | pair_point_tangent_t |
| typedef std::vector< pair_point_tangent_t, Eigen::aligned_allocator< pair_point_tangent_t > > | t_pair_point_tangent_t |
| typedef std::vector< Time > | vector_time_t |
| typedef Time | time_t |
| typedef Numeric | num_t |
| typedef curve_abc< Time, Numeric, Safe, point_t > | curve_abc_t |
| typedef cubic_hermite_spline< Time, Numeric, Safe, point_t > | cubic_hermite_spline_t |
| typedef bezier_curve< Time, Numeric, Safe, point_t > | bezier_t |
| typedef bezier_t::t_point_t | t_point_t |
| typedef piecewise_curve< Time, Numeric, Safe, point_t, point_t, bezier_t > | piecewise_bezier_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 std::shared_ptr< curve_t > | curve_ptr_t |
|
| | 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 : \(( 0., 0.5, 0.9, ..., 4.5 )\) with values corresponding to times for \(P_0, P_1, P_2, ..., P_N\) respectively.
|
| 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) |
| | 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) |
| 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.
|
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>>
Set time of each control point of cubic hermite spline. Set duration of each spline, Exemple : \(( 0., 0.5, 0.9, ..., 4.5 )\) with values corresponding to times for \(P_0, P_1, P_2, ..., P_N\) respectively.
- Parameters
| time_control_points | : Vector containing time for each control point. |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>>
Vector of Time corresponding to time duration of each subspline.
For N control points with time \(T_{P_0}, T_{P_1}, T_{P_2}, ...,
T_{P_N}\) respectively, duration of each subspline is : ( T_{P_1}-T_{P_0}, T_{P_2}-T_{P_1}, ..., T_{P_N}-T_{P_{N-1} )
It contains \(N-1\) durations.
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>>
Vector of Time corresponding to time of each N control points : time at \(P_0, P_1, P_2, ..., P_N\). Exemple : \(( 0., 0.5, 0.9, ..., 4.5 )\) with values corresponding to times for \(P_0, P_1, P_2, ..., P_N\) respectively.