Represents a linear interpolation in SO3, using the slerp method provided by Eigen::Quaternion.
More...
|
| | SO3Linear () |
| | Empty constructor. Curve obtained this way can not perform other class functions.
|
| |
| | SO3Linear (const quaternion_t &init_rot, const quaternion_t &end_rot, const time_t t_min, const time_t t_max) |
| | constructor with initial and final rotation and time bounds
|
| |
| | SO3Linear (const matrix3_t &init_rot, const matrix3_t &end_rot, const time_t t_min, const time_t t_max) |
| | constructor with initial and final rotation expressed as rotation matrix and time bounds
|
| |
| | SO3Linear (const quaternion_t &init_rot, const quaternion_t &end_rot) |
| | constructor with initial and final rotation, time bounds are set to [0;1]
|
| |
| | SO3Linear (const matrix3_t &init_rot, const matrix3_t &end_rot) |
| | constructor with initial and final rotation expressed as rotation matrix, time bounds are set to [0;1]
|
| |
| virtual | ~SO3Linear () |
| | Destructor.
|
| |
| | SO3Linear (const SO3Linear &other) |
| |
| point3_t | computeAngularVelocity (const matrix3_t &init_rot, const matrix3_t &end_rot, const double t_min, const double t_max) |
| |
| quaternion_t | computeAsQuaternion (const time_t t) const |
| |
| virtual point_t | operator() (const time_t t) const |
| | Evaluation of the SO3Linear at time t using Eigen slerp.
|
| |
| bool | isApprox (const SO3Linear_t &other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const |
| | 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
|
| |
| virtual bool | isApprox (const curve_abc_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const |
| | isApprox check if other and *this are approximately equal given a precision threshold Only two curves of the same class can be approximately equal, for comparison between different type of curves see isEquivalent.
|
| |
| virtual bool | operator== (const SO3Linear_t &other) const |
| |
| virtual bool | operator!= (const SO3Linear_t &other) const |
| |
| virtual point_derivate_t | derivate (const time_t t, const std::size_t order) const |
| | Evaluation of the derivative of order N of spline at time t.
|
| |
| curve_derivate_t | compute_derivate (const std::size_t order) const |
| |
| curve_derivate_t * | compute_derivate_ptr (const std::size_t order) const |
| | Compute the derived curve at order N.
|
| |
| virtual std::size_t | dim () const |
| | Get dimension of curve.
|
| |
| time_t | min () const |
| | Get the minimum time for which the curve is defined.
|
| |
| time_t | max () const |
| | Get the maximum time for which the curve is defined.
|
| |
| virtual std::size_t | degree () const |
| | Get the degree of the curve.
|
| |
| matrix3_t | getInitRotation () const |
| |
| matrix3_t | getEndRotation () const |
| |
| matrix3_t | getInitRotation () |
| |
| matrix3_t | getEndRotation () |
| |
| template<class Archive > |
| void | load (Archive &ar, const unsigned int version) |
| |
| template<class Archive > |
| void | save (Archive &ar, const unsigned int version) const |
| |
| point3_t | log3 (const matrix3_t &R) |
| | Log: SO3 -> so3.
|
| |
| | curve_abc () |
| | Constructor.
|
| |
| virtual | ~curve_abc () |
| | Destructor.
|
| |
| 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 threshold. This test is done by discretizing both curves and evaluating them and their derivatives.
|
| |
| std::pair< time_t, time_t > | timeRange () |
| |
| template<class Archive > |
| void | serialize (Archive &ar, const unsigned int version) |
| |
| template<class Derived > |
| void | loadFromText (const std::string &filename) |
| | Loads a Derived object from a text file.
|
| |
| template<class Derived > |
| void | saveAsText (const std::string &filename) const |
| | Saved a Derived object as a text file.
|
| |
| template<class Derived > |
| void | loadFromXML (const std::string &filename, const std::string &tag_name) |
| | Loads a Derived object from an XML file.
|
| |
| template<class Derived > |
| void | saveAsXML (const std::string &filename, const std::string &tag_name) const |
| | Saved a Derived object as an XML file.
|
| |
| template<class Derived > |
| void | loadFromBinary (const std::string &filename) |
| | Loads a Derived object from an binary file.
|
| |
| template<class Derived > |
| void | saveAsBinary (const std::string &filename) const |
| | Saved a Derived object as an binary file.
|
| |
template<
typename Time = double,
typename Numeric = Time,
bool Safe = false>
class ndcurves::SO3Linear< Time, Numeric, Safe >
Represents a linear interpolation in SO3, using the slerp method provided by Eigen::Quaternion.
template<typename Time = double, typename Numeric = Time, bool Safe = false>
| virtual bool ndcurves::SO3Linear< Time, Numeric, Safe >::isApprox |
( |
const curve_abc_t * |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits< Numeric >::dummy_precision() |
|
) |
| const |
|
inlinevirtual |
isApprox check if other and *this are approximately equal given a precision threshold 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 threshold, default Eigen::NumTraits<Numeric>::dummy_precision() |
- Returns
- true if the two curves are approximately equal
Implements ndcurves::curve_abc< Time, Numeric, Safe, Point, Point_derivate >.