template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
typedef piecewise_curve<Time, Numeric, Safe, Point, Point_derivate, CurveType> curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::piecewise_curve_t |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Empty constructor.
Add at least one curve to call other class functions.
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Constructor.
Initialize a piecewise curve by giving the first curve.
- Parameters
-
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::piecewise_curve |
( |
const piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType > & |
other | ) |
|
|
inline |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Curve >
void curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::add_curve |
( |
const Curve & |
curve | ) |
|
|
inline |
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_discrete_points_to_polynomial(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_bezier(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_cubic_hermite(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_polynomial(), and curves::helpers::effector_spline().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
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.
- Parameters
-
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::compute_derivate_ptr(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::piecewise_curve().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
compute_derivate return a piecewise_curve which is the derivative of this at given order
- Parameters
-
- Returns
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Polynomial >
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Polynomial >
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Polynomial >
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Bezier >
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Hermite >
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Polynomial >
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
virtual std::size_t curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::degree |
( |
| ) |
const |
|
inlinevirtual |
Get the degree of the curve.
- Returns
, the degree of the curve.
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Evaluate the derivative of order N of curve at time t.
- Parameters
-
t | : time when to evaluate the spline. |
order | : order of derivative. |
- Returns
point corresponding on derivative spline of order N at time t.
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
virtual std::size_t curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::dim |
( |
| ) |
const |
|
inlinevirtual |
Get dimension of curve.
- Returns
- dimension of curve.
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
bool curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::is_continuous |
( |
const std::size_t |
order | ) |
|
|
inline |
Check if the curve is continuous of order given.
- Parameters
-
order | : order of continuity we want to check. |
- Returns
- True if the curve is continuous of order given.
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
virtual bool curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::isApprox |
( |
const base_curve_t * |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits<Numeric>::dummy_precision() |
|
) |
| const |
|
inlinevirtual |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
bool curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::isApprox |
( |
const piecewise_curve_t & |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits<Numeric>::dummy_precision() |
|
) |
| const |
|
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
- Parameters
-
other | the other curve to check |
prec | the precision treshold, default Eigen::NumTraits<Numeric>::dummy_precision() |
- Returns
- true is the two curves are approximately equals
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::isApprox(), curves::exact_cubic< Numeric, Numeric, false, point_one_dim_t >::isApprox(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::operator==().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::curve_at_index(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::isApprox().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
template<class Archive >
void curves::piecewise_curve< Time, Numeric, Safe, Point, Point_derivate, CurveType >::serialize |
( |
Archive & |
ar, |
|
|
const unsigned int |
version |
|
) |
| |
|
inline |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
friend class boost::serialization::access |
|
friend |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve_ptr(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::compute_derivate_ptr(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_bezier(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_cubic_hermite(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_polynomial(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::curve_at_index(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::curve_at_time(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::derivate(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::getNumberCurves(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::is_continuous(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::num_curves(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::operator()(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::serialize().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve_ptr(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::dim(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::serialize().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve_ptr(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_bezier(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_cubic_hermite(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::convert_piecewise_curve_to_polynomial(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::is_continuous(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::serialize().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve_ptr(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::derivate(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::max(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::operator()(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::serialize().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve_ptr(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::derivate(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::min(), curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::operator()(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::serialize().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point, typename CurveType = curve_abc<Time, Numeric, Safe, Point, Point_derivate>>
Referenced by curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::add_curve_ptr(), and curves::piecewise_curve< double, double, false, Eigen::Matrix< double, Eigen::Dynamic, 1 > >::serialize().