|
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. If the derivative is to be evaluated several times, it is rather recommended to compute the derivative curve using compute_derivate. 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. This method will probably be removed in the future. 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 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 |
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) |
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>>
Evaluates the derivative at order N of the curve. If the derivative is to be evaluated several times, it is rather recommended to compute the derivative curve using compute_derivate.
- Parameters
-
order | : order of the derivative |
t | : the time when to evaluate the spine |
return | : the value x(t) |
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.
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