Composition of a curve of any type of dimension 3 and a curve representing an rotation (in current implementation, only SO3Linear can be used for the rotation part) The output is a vector of size 7 (pos_x,pos_y,pos_z,quat_x,quat_y,quat_z,quat_w) The output of the derivative of any order is a vector of size 6 (linear_x,linear_y,linear_z,angular_x,angular_y,angular_z)
More...
#include <ndcurves/fwd.h>
|
typedef Numeric | Scalar |
|
typedef Eigen::Transform< Numeric, 3, Eigen::Affine > | transform_t |
|
typedef transform_t | point_t |
|
typedef Eigen::Matrix< Scalar, 6, 1 > | point_derivate_t |
|
typedef Eigen::Quaternion< Scalar > | Quaternion |
|
typedef Time | time_t |
|
typedef curve_abc< Time, Numeric, Safe, point_t, point_derivate_t > | curve_abc_t |
|
typedef polynomial< Time, Numeric, Safe, point_derivate_t > | curve_derivate_t |
|
typedef curve_abc< Time, Numeric, Safe, pointX_t > | curve_X_t |
|
typedef curve_abc< Time, Numeric, Safe, matrix3_t, point3_t > | curve_rotation_t |
|
typedef boost::shared_ptr< curve_X_t > | curve_ptr_t |
|
typedef boost::shared_ptr< curve_rotation_t > | curve_rotation_ptr_t |
|
typedef SO3Linear< Time, Numeric, Safe > | SO3Linear_t |
|
typedef polynomial< Time, Numeric, Safe, pointX_t > | polynomial_t |
|
typedef SE3Curve< Time, Numeric, Safe > | SE3Curve_t |
|
|
| SE3Curve () |
| Empty constructor. Curve obtained this way can not perform other class functions. More...
|
|
| ~SE3Curve () |
| Destructor. More...
|
|
| SE3Curve (const transform_t &init_transform, const transform_t &end_transform, const time_t &t_min, const time_t &t_max) |
| Constructor from init/end transform use polynomial of degree 1 for position and SO3Linear for rotation. More...
|
|
| SE3Curve (const pointX_t &init_pos, const pointX_t &end_pos, const Quaternion &init_rot, const Quaternion &end_rot, const time_t &t_min, const time_t &t_max) |
| Constructor from init/end pose, with quaternion. use polynomial of degree 1 for position and SO3Linear for rotation. More...
|
|
| SE3Curve (const pointX_t &init_pos, const pointX_t &end_pos, const matrix3_t &init_rot, const matrix3_t &end_rot, const time_t &t_min, const time_t &t_max) |
| Constructor from init/end pose, with rotation matrix. use polynomial of degree 1 for position and SO3Linear for rotation. More...
|
|
| SE3Curve (curve_ptr_t translation_curve, const Quaternion &init_rot, const Quaternion &end_rot) |
| Constructor from curve for the translation and init/end rotation, with quaternion. Use SO3Linear for rotation with the same time bounds as the. More...
|
|
| SE3Curve (curve_ptr_t translation_curve, const matrix3_t &init_rot, const matrix3_t &end_rot) |
| Constructor from curve for the translation and init/end rotation, with rotation matrix. Use SO3Linear for rotation with the same time bounds as the. More...
|
|
| SE3Curve (curve_ptr_t translation_curve, curve_rotation_ptr_t rotation_curve) |
| Constructor from from translation and rotation curves object. More...
|
|
virtual point_t | operator() (const time_t t) const |
| Evaluation of the SE3Curve at time t. More...
|
|
bool | isApprox (const SE3Curve_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 More...
|
|
virtual bool | isApprox (const curve_abc_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const |
|
virtual bool | operator== (const SE3Curve_t &other) const |
|
virtual bool | operator!= (const SE3Curve_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. More...
|
|
curve_derivate_t | compute_derivate (const std::size_t) const |
|
curve_derivate_t * | compute_derivate_ptr (const std::size_t order) const |
| Compute the derived curve at order N. More...
|
|
virtual std::size_t | dim () const |
| Get dimension of curve. More...
|
|
time_t | min () const |
| Get the minimum time for which the curve is defined. More...
|
|
time_t | max () const |
| Get the maximum time for which the curve is defined. More...
|
|
virtual std::size_t | degree () const |
| Get the degree of the curve. More...
|
|
const curve_ptr_t | translation_curve () const |
| const accessor to the translation curve More...
|
|
const curve_rotation_ptr_t | rotation_curve () const |
| const accessor to the rotation curve More...
|
|
template<class Archive > |
void | serialize (Archive &ar, const unsigned int version) |
|
Composition of a curve of any type of dimension 3 and a curve representing an rotation (in current implementation, only SO3Linear can be used for the rotation part) The output is a vector of size 7 (pos_x,pos_y,pos_z,quat_x,quat_y,quat_z,quat_w) The output of the derivative of any order is a vector of size 6 (linear_x,linear_y,linear_z,angular_x,angular_y,angular_z)
◆ curve_abc_t
◆ curve_derivate_t
◆ curve_ptr_t
◆ curve_rotation_ptr_t
◆ curve_rotation_t
◆ curve_X_t
◆ point_derivate_t
◆ point_t
◆ polynomial_t
◆ Quaternion
◆ Scalar
◆ SE3Curve_t
◆ SO3Linear_t
◆ time_t
◆ transform_t
◆ SE3Curve() [1/7]
ndcurves::SE3Curve::SE3Curve |
( |
| ) |
|
|
inline |
Empty constructor. Curve obtained this way can not perform other class functions.
◆ ~SE3Curve()
ndcurves::SE3Curve::~SE3Curve |
( |
| ) |
|
|
inline |
◆ SE3Curve() [2/7]
Constructor from init/end transform use polynomial of degree 1 for position and SO3Linear for rotation.
◆ SE3Curve() [3/7]
Constructor from init/end pose, with quaternion. use polynomial of degree 1 for position and SO3Linear for rotation.
◆ SE3Curve() [4/7]
Constructor from init/end pose, with rotation matrix. use polynomial of degree 1 for position and SO3Linear for rotation.
◆ SE3Curve() [5/7]
Constructor from curve for the translation and init/end rotation, with quaternion. Use SO3Linear for rotation with the same time bounds as the.
◆ SE3Curve() [6/7]
Constructor from curve for the translation and init/end rotation, with rotation matrix. Use SO3Linear for rotation with the same time bounds as the.
◆ SE3Curve() [7/7]
Constructor from from translation and rotation curves object.
◆ compute_derivate()
curve_derivate_t ndcurves::SE3Curve::compute_derivate |
( |
const std::size_t |
| ) |
const |
|
inline |
◆ compute_derivate_ptr()
curve_derivate_t* ndcurves::SE3Curve::compute_derivate_ptr |
( |
const std::size_t |
order | ) |
const |
|
inline |
Compute the derived curve at order N.
- Parameters
-
order | : order of derivative. |
- Returns
- A pointer to
derivative order N of the curve.
◆ degree()
virtual std::size_t ndcurves::SE3Curve::degree |
( |
| ) |
const |
|
inlinevirtual |
Get the degree of the curve.
- Returns
, the degree of the curve.
◆ derivate()
Evaluation of the derivative of order N of spline at time t.
- Parameters
-
t | : the time when to evaluate the spline. |
order | : order of derivative. |
- Returns
point corresponding on derivative spline at time t.
◆ dim()
virtual std::size_t ndcurves::SE3Curve::dim |
( |
| ) |
const |
|
inlinevirtual |
Get dimension of curve.
- Returns
- dimension of curve.
◆ isApprox() [1/2]
virtual bool ndcurves::SE3Curve::isApprox |
( |
const curve_abc_t * |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits<Numeric>::dummy_precision() |
|
) |
| const |
|
inlinevirtual |
◆ isApprox() [2/2]
bool ndcurves::SE3Curve::isApprox |
( |
const SE3Curve_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
◆ max()
time_t ndcurves::SE3Curve::max |
( |
| ) |
const |
|
inline |
Get the maximum time for which the curve is defined.
- Returns
upper bound of time range.
◆ min()
time_t ndcurves::SE3Curve::min |
( |
| ) |
const |
|
inline |
Get the minimum time for which the curve is defined.
- Returns
lower bound of time range.
◆ operator!=()
virtual bool ndcurves::SE3Curve::operator!= |
( |
const SE3Curve_t & |
other | ) |
const |
|
inlinevirtual |
◆ operator()()
virtual point_t ndcurves::SE3Curve::operator() |
( |
const time_t |
t | ) |
const |
|
inlinevirtual |
Evaluation of the SE3Curve at time t.
- Parameters
-
t | : time when to evaluate the spline. |
- Returns
point corresponding on spline at time t. (pos_x,pos_y,pos_z,quat_x,quat_y,quat_z,quat_w)
◆ operator==()
virtual bool ndcurves::SE3Curve::operator== |
( |
const SE3Curve_t & |
other | ) |
const |
|
inlinevirtual |
◆ rotation_curve()
const accessor to the rotation curve
◆ serialize()
template<class Archive >
void ndcurves::SE3Curve::serialize |
( |
Archive & |
ar, |
|
|
const unsigned int |
version |
|
) |
| |
|
inline |
◆ translation_curve()
const curve_ptr_t ndcurves::SE3Curve::translation_curve |
( |
| ) |
const |
|
inline |
const accessor to the translation curve
◆ boost::serialization::access
friend class boost::serialization::access |
|
friend |
◆ dim_
std::size_t ndcurves::SE3Curve::dim_ |
◆ rotation_curve_
◆ T_max_
time_t ndcurves::SE3Curve::T_max_ |
◆ T_min_
time_t ndcurves::SE3Curve::T_min_ |
◆ translation_curve_
The documentation for this class was generated from the following files: