|
| template<typename In > |
| | bezier_curve (In PointsBegin, In PointsEnd) |
| | Constructor. More...
|
| |
| template<typename In > |
| | bezier_curve (In PointsBegin, In PointsEnd, const time_t T) |
| | Constructor. More...
|
| |
| template<typename In > |
| | bezier_curve (In PointsBegin, In PointsEnd, const time_t T, const time_t mult_T) |
| | Constructor. More...
|
| |
| template<typename In > |
| | bezier_curve (In PointsBegin, In PointsEnd, const curve_constraints_t &constraints, const time_t T=1.) |
| | Constructor This constructor will add 4 points (2 after the first one, 2 before the last one) to ensure that velocity and acceleration constraints are respected. More...
|
| |
| | ~bezier_curve () |
| | Destructor. More...
|
| |
| virtual point_t | operator() (const time_t t) const |
| | Evaluation of the cubic spline at time t. More...
|
| |
| bezier_curve_t | compute_derivate (const std::size_t order) const |
| | Computes the derivative curve at order N. More...
|
| |
| bezier_curve_t | compute_primitive (const std::size_t order) const |
| | Computes the primitive of the curve at order N. More...
|
| |
| virtual point_t | derivate (const time_t t, const std::size_t order) const |
| | Evaluates the derivative at order N of the curve. More...
|
| |
| point_t | evalBernstein (const Numeric t) const |
| | Evaluates all Bernstein polynomes for a certain degree Warning: the horner scheme is about 100 times faster than this method. More...
|
| |
| point_t | evalHorner (const Numeric t) const |
| | Evaluates all Bernstein polynomes for a certain degree using horner's scheme. More...
|
| |
| const t_point_t & | waypoints () const |
| |
| point_t | evalDeCasteljau (const Numeric t) const |
| | evalDeCasteljau evaluate the curve value at time t using deCasteljau algorithm More...
|
| |
| t_point_t | deCasteljauReduction (const Numeric t) const |
| |
| t_point_t | deCasteljauReduction (const t_point_t &pts, const Numeric u) const |
| | deCasteljauReduction compute the de Casteljau's reduction of the given list of points at time t More...
|
| |
| std::pair< bezier_curve_t, bezier_curve_t > | split (const Numeric t) |
| | split split the curve in 2 at time t More...
|
| |
| bezier_curve_t | extract (const Numeric t1, const Numeric t2) |
| |
| virtual time_t | min () const |
| |
| virtual time_t | max () const |
| |
| | 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_t > | timeRange () |
| |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename In >
Constructor.
- Parameters
-
| PointsBegin,PointsEnd | : the points parametering the Bezier curve |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::bernstein_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::size_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename In >
Constructor.
- Parameters
-
| PointsBegin,PointsEnd | : the points parametering the Bezier curve |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::bernstein_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::size_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename In >
Constructor.
- Parameters
-
| PointsBegin,PointsEnd | : the points parametering the Bezier curve |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::bernstein_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::size_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename In >
Constructor This constructor will add 4 points (2 after the first one, 2 before the last one) to ensure that velocity and acceleration constraints are respected.
- Parameters
-
| PointsBegin,PointsEnd | : the points parametering the Bezier curve |
| constraints | : constraints applying on start / end velocities and acceleration |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::size_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
Computes the derivative curve at order N.
- Parameters
-
| order | : order of the derivative |
| return | : the value x(t) |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::compute_derivate(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::degree_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
Referenced by spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::compute_derivate(), and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::derivate().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
Computes the primitive of the curve at order N.
- Parameters
-
| constant | : value of the primitive at t = 0 |
| return | : the curve x_1(t) such that d/dt(x_1(t)) = x_1(t) |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::compute_primitive(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::degree_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
Referenced by spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::compute_primitive().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::deCasteljauReduction(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::waypoints().
Referenced by spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::deCasteljauReduction(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::evalDeCasteljau(), and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::split().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
deCasteljauReduction compute the de Casteljau's reduction of the given list of points at time t
- Parameters
-
| pts | the original list of points |
| u | the NORMALIZED time |
- Returns
- the reduced list of point (size of pts - 1)
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
Evaluates all Bernstein polynomes for a certain degree Warning: the horner scheme is about 100 times faster than this method.
This method will probably be removed in the future
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::bernstein_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
evalDeCasteljau evaluate the curve value at time t using deCasteljau algorithm
- Parameters
-
- Returns
- the point at time t
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::deCasteljauReduction(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::waypoints().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
Evaluates all Bernstein polynomes for a certain degree using horner's scheme.
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::degree_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
Referenced by spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::operator()().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::split(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::waypoints().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
Evaluation of the cubic spline at time t.
- Parameters
-
| t | : the time when to evaluate the spine |
| return | : the value x(t) |
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::evalHorner(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::size_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
split split the curve in 2 at time t
- Parameters
-
- Returns
References spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::deCasteljauReduction(), spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::degree_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::mult_T_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::size_, spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::T_, and spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::waypoints().
Referenced by spline::bezier_curve< Time, Numeric, Dim, Safe, Point >::extract().