|
| piecewise_curve () |
| Empty constructor. More...
|
|
| piecewise_curve (const curve_t &cf) |
| Constructor. More...
|
|
| piecewise_curve (const t_curve_t list_curves) |
|
| piecewise_curve (const piecewise_curve &other) |
|
virtual | ~piecewise_curve () |
|
virtual Point | operator() (const Time t) const |
| Evaluation of the cubic spline at time t. More...
|
|
virtual Point | derivate (const Time t, const std::size_t order) const |
| Evaluate the derivative of order N of curve at time t. More...
|
|
piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve > | compute_derivate (const std::size_t order) const |
| compute_derivate return a piecewise_curve which is the derivative of this at given order More...
|
|
void | add_curve (const curve_t &cf) |
| Add a new curve to piecewise curve, which should be defined in where is equal to of the actual piecewise curve. More...
|
|
bool | is_continuous (const std::size_t order) |
| Check if the curve is continuous of order given. More...
|
|
template<typename Bezier > |
piecewise_curve< Time, Numeric, Safe, Point, T_Point, Bezier > | convert_piecewise_curve_to_bezier () |
|
template<typename Hermite > |
piecewise_curve< Time, Numeric, Safe, Point, T_Point, Hermite > | convert_piecewise_curve_to_cubic_hermite () |
|
template<typename Polynomial > |
piecewise_curve< Time, Numeric, Safe, Point, T_Point, Polynomial > | convert_piecewise_curve_to_polynomial () |
|
virtual std::size_t | dim () const |
| Get dimension of curve. More...
|
|
virtual Time | min () const |
| Get the minimum time for which the curve is defined. More...
|
|
virtual Time | max () const |
| Get the maximum time for which the curve is defined. More...
|
|
std::size_t | getNumberCurves () |
|
template<class Archive > |
void | serialize (Archive &ar, const unsigned int version) |
|
| curve_abc () |
| Constructor. More...
|
|
virtual | ~curve_abc () |
| Destructor. More...
|
|
std::pair< time_t, time_t > | timeRange () |
|
template<class Archive > |
void | serialize (Archive &ar, const unsigned int version) |
|
|
template<typename Polynomial > |
static piecewise_curve< Time, Numeric, Safe, Point, T_Point, Polynomial > | convert_discrete_points_to_polynomial (T_Point points, t_time_t time_points) |
|
template<typename Polynomial > |
static piecewise_curve< Time, Numeric, Safe, Point, T_Point, Polynomial > | convert_discrete_points_to_polynomial (T_Point points, T_Point points_derivative, t_time_t time_points) |
|
template<typename Polynomial > |
static piecewise_curve< Time, Numeric, Safe, Point, T_Point, Polynomial > | convert_discrete_points_to_polynomial (T_Point points, T_Point points_derivative, T_Point points_second_derivative, t_time_t time_points) |
|
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
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 T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
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 T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::piecewise_curve |
( |
const piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve > & |
other | ) |
|
|
inline |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
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< Time, Numeric, Safe, Point, T_Point, SplineBase >::compute_derivate(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_discrete_points_to_polynomial(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::piecewise_curve().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
piecewise_curve<Time, Numeric, Safe, Point, T_Point, Curve> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::compute_derivate |
( |
const std::size_t |
order | ) |
const |
|
inline |
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 T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Polynomial >
static piecewise_curve<Time, Numeric, Safe, Point, T_Point, Polynomial> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::convert_discrete_points_to_polynomial |
( |
T_Point |
points, |
|
|
t_time_t |
time_points |
|
) |
| |
|
inlinestatic |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Polynomial >
static piecewise_curve<Time, Numeric, Safe, Point, T_Point, Polynomial> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::convert_discrete_points_to_polynomial |
( |
T_Point |
points, |
|
|
T_Point |
points_derivative, |
|
|
t_time_t |
time_points |
|
) |
| |
|
inlinestatic |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Polynomial >
static piecewise_curve<Time, Numeric, Safe, Point, T_Point, Polynomial> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::convert_discrete_points_to_polynomial |
( |
T_Point |
points, |
|
|
T_Point |
points_derivative, |
|
|
T_Point |
points_second_derivative, |
|
|
t_time_t |
time_points |
|
) |
| |
|
inlinestatic |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Bezier >
piecewise_curve<Time, Numeric, Safe, Point, T_Point, Bezier> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::convert_piecewise_curve_to_bezier |
( |
| ) |
|
|
inline |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Hermite >
piecewise_curve<Time, Numeric, Safe, Point, T_Point, Hermite> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::convert_piecewise_curve_to_cubic_hermite |
( |
| ) |
|
|
inline |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Polynomial >
piecewise_curve<Time, Numeric, Safe, Point, T_Point, Polynomial> curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::convert_piecewise_curve_to_polynomial |
( |
| ) |
|
|
inline |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
virtual Point curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::derivate |
( |
const Time |
t, |
|
|
const std::size_t |
order |
|
) |
| const |
|
inlinevirtual |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
bool curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::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 T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
virtual Point curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::operator() |
( |
const Time |
t | ) |
const |
|
inlinevirtual |
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
template<class Archive >
void curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, Curve >::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 T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
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 T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::compute_derivate(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_discrete_points_to_polynomial(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_piecewise_curve_to_bezier(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_piecewise_curve_to_cubic_hermite(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_piecewise_curve_to_polynomial(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::derivate(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::getNumberCurves(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::is_continuous(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::operator()().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::dim(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::piecewise_curve().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::is_continuous(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::serialize().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_discrete_points_to_polynomial(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_piecewise_curve_to_bezier(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_piecewise_curve_to_cubic_hermite(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_piecewise_curve_to_polynomial(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::is_continuous(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::piecewise_curve().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::derivate(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::max(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::operator()().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::derivate(), curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::min(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::operator()().
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >, typename Curve = curve_abc<Time, Numeric, Safe, Point>>
Referenced by curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::add_curve(), and curves::piecewise_curve< Time, Numeric, Safe, Point, T_Point, SplineBase >::convert_discrete_points_to_polynomial().