Represents a curve of dimension Dim. If value of parameter Safe is false, no verification is made on the evaluation of the curve.
More...
#include <curves/curve_abc.h>
|
| 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 curve_derivate_t * | compute_derivate_ptr (const std::size_t order) const =0 |
| Compute the derived curve at order N. More...
|
|
virtual point_derivate_t | derivate (const time_t t, const std::size_t order) const =0 |
| Evaluate the derivative of order N of curve at time t. More...
|
|
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 treshold. This test is done by discretizing both curves and evaluating them and their derivatives. More...
|
|
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 treshold Only two curves of the same class can be approximately equal, for comparison between different type of curves see isEquivalent. More...
|
|
virtual std::size_t | dim () const =0 |
| Get dimension of curve. More...
|
|
virtual time_t | min () const =0 |
| Get the minimum time for which the curve is defined. More...
|
|
virtual time_t | max () const =0 |
| Get the maximum time for which the curve is defined. More...
|
|
virtual std::size_t | degree () const =0 |
| Get the degree of the curve. More...
|
|
std::pair< time_t, time_t > | timeRange () |
|
template<class Archive > |
void | serialize (Archive &ar, const unsigned int version) |
|
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
struct curves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >
Represents a curve of dimension Dim. If value of parameter Safe is false, no verification is made on the evaluation of the curve.
◆ curve_derivate_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ curve_ptr_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ curve_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ num_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ point_derivate_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ point_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ time_t
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ curve_abc()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ ~curve_abc()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ compute_derivate_ptr()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
Compute the derived curve at order N.
- Parameters
-
order | : order of derivative. |
- Returns
- A pointer to
derivative order N of the curve.
Implemented in curves::helpers::rotation_spline, curves::constant_curve< Time, Numeric, Safe, Point, Point_derivate >, curves::bezier_curve< Time, Numeric, Safe, Point >, and curves::cubic_hermite_spline< Time, Numeric, Safe, Point >.
◆ degree()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
virtual std::size_t curves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >::degree |
( |
| ) |
const |
|
pure virtual |
◆ derivate()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
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 curve of order N at time t.
◆ dim()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
virtual std::size_t curves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >::dim |
( |
| ) |
const |
|
pure virtual |
◆ isApprox()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
virtual bool curves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >::isApprox |
( |
const curve_t * |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits< Numeric >::dummy_precision() |
|
) |
| const |
|
pure virtual |
isApprox check if other and *this are approximately equal given a precision treshold Only two curves of the same class can be approximately equal, 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 if the two curves are approximately equal
◆ isEquivalent()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
bool curves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >::isEquivalent |
( |
const curve_t * |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits<Numeric>::dummy_precision() , |
|
|
const size_t |
order = 5 |
|
) |
| const |
|
inline |
isEquivalent check if other and *this are approximately equal by values, given a precision treshold. This test is done by discretizing both curves and evaluating them and their derivatives.
- Parameters
-
other | the other curve to check |
order | the order up to which the derivatives of the curves are checked for equality |
prec | the precision treshold, default Eigen::NumTraits<Numeric>::dummy_precision() |
- Returns
- true if the two curves are approximately equal
◆ max()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ min()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ operator()()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
Evaluation of the cubic spline at time t.
- Parameters
-
t | : time when to evaluate the spine |
- Returns
, point corresponding on curve at time t.
◆ serialize()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
template<class Archive >
void curves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >::serialize |
( |
Archive & |
ar, |
|
|
const unsigned int |
version |
|
) |
| |
|
inline |
◆ timeRange()
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
◆ boost::serialization::access
template<typename Time = double, typename Numeric = Time, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Eigen::Dynamic, 1>, typename Point_derivate = Point>
friend class boost::serialization::access |
|
friend |
The documentation for this struct was generated from the following file: