Loading...
Searching...
No Matches
ndcurves Namespace Reference

Namespaces

namespace  helpers
 
namespace  optimization
 
namespace  serialization
 

Classes

struct  Bern
 
struct  bezier_curve
 
class  constant_curve
 Represents a constant_curve curve, always returning the same value and a null derivative. More...
 
struct  cubic_hermite_spline
 
struct  curve_abc
 Represents a curve of dimension Dim. If value of parameter Safe is false, no verification is made on the evaluation of the curve. More...
 
struct  curve_constraints
 
struct  exact_cubic
 
struct  linear_variable
 
struct  piecewise_curve
 
class  polynomial
 Represents a polynomial of an arbitrary order defined on the interval \([t_{min}, t_{max}]\). It follows the equation :
\( x(t) = a + b(t - t_{min}) + ... + d(t - t_{min})^N \)
where N is the order and \( t \in [t_{min}, t_{max}] \). More...
 
struct  quadratic_variable
 
class  SE3Curve
 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...
 
class  sinusoidal
 Represents a sinusoidal curve, evaluating the following equation: p0 + amplitude * (sin(2pi/T + phi) More...
 
class  SO3Linear
 Represents a linear interpolation in SO3, using the slerp method provided by Eigen::Quaternion. More...
 
struct  SO3Smooth
 

Typedefs

typedef Eigen::Matrix< double, 1, 1 > point1_t
 
typedef Eigen::Vector3d point3_t
 
typedef Eigen::Matrix< double, 6, 1 > point6_t
 
typedef Eigen::VectorXd pointX_t
 
typedef Eigen::Matrix< double, 3, 3 > matrix3_t
 
typedef Eigen::Matrix< double, 4, 4 > matrix4_t
 
typedef Eigen::Quaternion< doublequaternion_t
 
typedef Eigen::Transform< double, 3, Eigen::Affine > transform_t
 
typedef std::vector< point1_t, Eigen::aligned_allocator< point1_t > > t_point1_t
 
typedef std::vector< point3_t, Eigen::aligned_allocator< point3_t > > t_point3_t
 
typedef std::vector< pointX_t, Eigen::aligned_allocator< pointX_t > > t_pointX_t
 
typedef Eigen::Ref< const matrix3_tmatrix3_t_cst_ref
 
typedef curve_abc< double, double, true, pointX_t, pointX_tcurve_abc_t
 
typedef curve_abc< double, double, true, point3_t, point3_tcurve_3_t
 
typedef curve_3_t curve_translation_t
 
typedef curve_abc< double, double, true, matrix3_t, point3_tcurve_rotation_t
 
typedef curve_abc< double, double, true, transform_t, point6_tcurve_SE3_t
 
typedef std::shared_ptr< curve_abc_tcurve_ptr_t
 
typedef std::shared_ptr< curve_3_tcurve3_ptr_t
 
typedef std::shared_ptr< curve_rotation_tcurve_rotation_ptr_t
 
typedef std::shared_ptr< curve_translation_tcurve_translation_ptr_t
 
typedef std::shared_ptr< curve_SE3_tcurve_SE3_ptr_t
 
typedef polynomial< double, double, true, pointX_t, t_pointX_tpolynomial_t
 
typedef exact_cubic< double, double, true, pointX_t, t_pointX_t, polynomial_texact_cubic_t
 
typedef bezier_curve< double, double, true, pointX_tbezier_t
 
typedef linear_variable< double, truelinear_variable_t
 
typedef bezier_curve< double, double, true, linear_variable_tbezier_linear_variable_t
 
typedef constant_curve< double, double, true, pointX_t, pointX_tconstant_t
 
typedef cubic_hermite_spline< double, double, true, pointX_tcubic_hermite_spline_t
 
typedef piecewise_curve< double, double, true, pointX_t, pointX_t, curve_abc_tpiecewise_t
 
typedef sinusoidal< double, double, true, pointX_tsinusoidal_t
 
typedef polynomial< double, double, true, point3_t, t_point3_tpolynomial3_t
 
typedef polynomial< double, double, true, point1_t, t_point1_tpolynomial1_t
 
typedef exact_cubic< double, double, true, point3_t, t_point3_t, polynomial_texact_cubic3_t
 
typedef bezier_curve< double, double, true, point3_tbezier3_t
 
typedef constant_curve< double, double, true, point3_t, point3_tconstant3_t
 
typedef cubic_hermite_spline< double, double, true, point3_tcubic_hermite_spline3_t
 
typedef piecewise_curve< double, double, true, point3_t, point3_t, curve_3_tpiecewise3_t
 
typedef SO3Smooth< double, double, trueSO3Smooth_t
 
typedef SO3Linear< double, double, trueSO3Linear_t
 
typedef SE3Curve< double, double, trueSE3Curve_t
 
typedef piecewise_curve< double, double, true, transform_t, point6_t, curve_SE3_tpiecewise_SE3_t
 
typedef double real
 
typedef std::vector< realt_time_t
 
typedef Eigen::VectorXd time_waypoints_t
 
typedef Eigen::Matrix< double, Eigen::Dynamic, 1, 0, Eigen::Dynamic, 1 > ret_pointX_t
 
typedef std::pair< pointX_t, pointX_tpair_pointX_tangent_t
 
typedef Eigen::MatrixXd pointX_list_t
 
typedef std::vector< pair_pointX_tangent_t, Eigen::aligned_allocator< pair_pointX_tangent_t > > t_pair_pointX_tangent_t
 
typedef ndcurves::curve_constraints< pointX_tcurve_constraints_t
 
typedef ndcurves::curve_constraints< point3_tcurve_constraints3_t
 
typedef std::pair< real, pointX_twaypoint_t
 
typedef std::vector< waypoint_tt_waypoint_t
 
typedef Eigen::Matrix< real, Eigen::Dynamic, Eigen::Dynamic > point_listX_t
 
typedef Eigen::Matrix< real, 3, Eigen::Dynamic > point_list3_t
 
typedef Eigen::Matrix< real, 6, Eigen::Dynamic > point_list6_t
 
typedef polynomial_t::coeff_t coeff_t
 
typedef ndcurves::Bern< doublebernstein_t
 

Functions

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator+ (const bezier_curve< T, N, S, P > &p1, const bezier_curve< T, N, S, P > &p2)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator- (const bezier_curve< T, N, S, P > &p1)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator- (const bezier_curve< T, N, S, P > &p1, const bezier_curve< T, N, S, P > &p2)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator- (const bezier_curve< T, N, S, P > &p1, const typename bezier_curve< T, N, S, P >::point_t &point)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator- (const typename bezier_curve< T, N, S, P >::point_t &point, const bezier_curve< T, N, S, P > &p1)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator+ (const bezier_curve< T, N, S, P > &p1, const typename bezier_curve< T, N, S, P >::point_t &point)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator+ (const typename bezier_curve< T, N, S, P >::point_t &point, const bezier_curve< T, N, S, P > &p1)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator/ (const bezier_curve< T, N, S, P > &p1, const double k)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator* (const bezier_curve< T, N, S, P > &p1, const double k)
 
template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, Poperator* (const double k, const bezier_curve< T, N, S, P > &p1)
 
Eigen::Vector3d cross (const Eigen::VectorXd &a, const Eigen::VectorXd &b)
 
Eigen::Vector3d cross (const Eigen::Vector3d &a, const Eigen::Vector3d &b)
 
Eigen::Vector3f cross (const Eigen::Vector3f &a, const Eigen::Vector3f &b)
 
template<typename N , bool S>
linear_variable< N, Scross (const linear_variable< N, S > &a, const linear_variable< N, S > &b)
 
template<typename T >
bool isApprox (const T a, const T b, const T eps=1e-6)
 
template<typename Polynomial >
Polynomial polynomial_from_curve (const typename Polynomial::curve_abc_t &curve)
 Converts a cubic hermite spline or a bezier curve to a polynomial.
 
template<typename Bezier >
Bezier bezier_from_curve (const typename Bezier::curve_abc_t &curve)
 Converts a cubic hermite spline or polynomial of order 3 or less to a cubic bezier curve.
 
template<typename Hermite >
Hermite hermite_from_curve (const typename Hermite::curve_abc_t &curve)
 Converts a polynomial of order 3 or less/cubic bezier curve to a cubic hermite spline.
 
template<typename N , bool S>
linear_variable< N, Soperator+ (const linear_variable< N, S > &w1, const linear_variable< N, S > &w2)
 
template<typename N , bool S>
linear_variable< N, Soperator- (const linear_variable< N, S > &w1, const linear_variable< N, S > &w2)
 
template<typename N , bool S>
linear_variable< N, Soperator- (const linear_variable< N, S > &w1)
 
template<typename N , bool S>
linear_variable< N, Soperator* (const double k, const linear_variable< N, S > &w)
 
template<typename N , bool S>
linear_variable< N, Soperator* (const linear_variable< N, S > &w, const double k)
 
template<typename N , bool S>
linear_variable< N, Soperator/ (const linear_variable< N, S > &w, const double k)
 
template<typename BezierFixed , typename BezierLinear , typename X >
BezierFixed evaluateLinear (const BezierLinear &bIn, const X x)
 
template<typename N , bool S>
std::ostream & operator<< (std::ostream &os, const linear_variable< N, S > &l)
 
template<typename _Matrix_Type_ >
void PseudoInverse (_Matrix_Type_ &pinvmat)
 An inverse kinematics architecture enforcing an arbitrary number of strict priority levels (Reference : Boulic et Al. 2003)
 
template<typename Matrix3 , typename Point >
Matrix3 skew (const Point &x)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator+ (const polynomial< T, N, S, P, TP > &p1, const polynomial< T, N, S, P, TP > &p2)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator+ (const polynomial< T, N, S, P, TP > &p1, const typename polynomial< T, N, S, P, TP >::point_t &point)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator+ (const typename polynomial< T, N, S, P, TP >::point_t &point, const polynomial< T, N, S, P, TP > &p1)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator- (const polynomial< T, N, S, P, TP > &p1, const typename polynomial< T, N, S, P, TP >::point_t &point)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator- (const typename polynomial< T, N, S, P, TP >::point_t &point, const polynomial< T, N, S, P, TP > &p1)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator- (const polynomial< T, N, S, P, TP > &p1)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator- (const polynomial< T, N, S, P, TP > &p1, const polynomial< T, N, S, P, TP > &p2)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator/ (const polynomial< T, N, S, P, TP > &p1, const double k)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator* (const polynomial< T, N, S, P, TP > &p1, const double k)
 
template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TPoperator* (const double k, const polynomial< T, N, S, P, TP > &p1)
 
template<typename PointList , typename T_Point >
T_Point vectorFromEigenArray (const PointList &array)
 
template<typename PointList , typename T_Point >
T_Point vectorFromEigenVector (const PointList &vector)
 
template<typename T_point , typename PointList >
PointList vectorToEigenArray (const T_point &vect)
 
template<typename N >
Eigen::Matrix< N, Eigen::Dynamic, Eigen::Dynamic > to_diagonal (const Eigen::Ref< const Eigen::Matrix< N, Eigen::Dynamic, 1 > > vec)
 Transforms a vector into a diagonal matrix.
 
template<typename N >
quadratic_variable< Noperator* (const linear_variable< N > &w1, const linear_variable< N > &w2)
 
template<typename N >
quadratic_variable< Noperator+ (const quadratic_variable< N > &w1, const quadratic_variable< N > &w2)
 
template<typename N >
quadratic_variable< Noperator- (const quadratic_variable< N > &w1, const quadratic_variable< N > &w2)
 
template<typename N >
quadratic_variable< Noperator* (const double k, const quadratic_variable< N > &w)
 
template<typename N >
quadratic_variable< Noperator* (const quadratic_variable< N > &w, const double k)
 
template<typename N >
quadratic_variable< Noperator/ (const quadratic_variable< N > &w, const double k)
 

Detailed Description

This file define a method register_types that register all the curves class of this package for a boost::Archive This is used to serialize pointer of the abstract class curve_abc

Typedef Documentation

◆ bernstein_t

◆ bezier3_t

◆ bezier_linear_variable_t

◆ bezier_t

◆ coeff_t

◆ constant3_t

◆ constant_t

◆ cubic_hermite_spline3_t

◆ cubic_hermite_spline_t

◆ curve3_ptr_t

◆ curve_3_t

◆ curve_abc_t

◆ curve_constraints3_t

◆ curve_constraints_t

◆ curve_ptr_t

◆ curve_rotation_ptr_t

◆ curve_rotation_t

◆ curve_SE3_ptr_t

◆ curve_SE3_t

◆ curve_translation_ptr_t

◆ curve_translation_t

◆ exact_cubic3_t

◆ exact_cubic_t

◆ linear_variable_t

◆ matrix3_t

typedef Eigen::Matrix<double, 3, 3> ndcurves::matrix3_t

◆ matrix3_t_cst_ref

◆ matrix4_t

typedef Eigen::Matrix<double, 4, 4> ndcurves::matrix4_t

◆ pair_pointX_tangent_t

◆ piecewise3_t

◆ piecewise_SE3_t

◆ piecewise_t

◆ point1_t

typedef Eigen::Matrix<double, 1, 1> ndcurves::point1_t

◆ point3_t

typedef Eigen::Vector3d ndcurves::point3_t

◆ point6_t

typedef Eigen::Matrix<double, 6, 1> ndcurves::point6_t

◆ point_list3_t

typedef Eigen::Matrix<real, 3, Eigen::Dynamic> ndcurves::point_list3_t

◆ point_list6_t

typedef Eigen::Matrix<real, 6, Eigen::Dynamic> ndcurves::point_list6_t

◆ point_listX_t

typedef Eigen::Matrix<real, Eigen::Dynamic, Eigen::Dynamic> ndcurves::point_listX_t

◆ pointX_list_t

◆ pointX_t

typedef Eigen::VectorXd ndcurves::pointX_t

◆ polynomial1_t

◆ polynomial3_t

◆ polynomial_t

◆ quaternion_t

◆ real

◆ ret_pointX_t

typedef Eigen::Matrix<double, Eigen::Dynamic, 1, 0, Eigen::Dynamic, 1> ndcurves::ret_pointX_t

◆ SE3Curve_t

◆ sinusoidal_t

◆ SO3Linear_t

◆ SO3Smooth_t

◆ t_pair_pointX_tangent_t

◆ t_point1_t

typedef std::vector<point1_t, Eigen::aligned_allocator<point1_t> > ndcurves::t_point1_t

◆ t_point3_t

typedef std::vector<point3_t, Eigen::aligned_allocator<point3_t> > ndcurves::t_point3_t

◆ t_pointX_t

typedef std::vector<pointX_t, Eigen::aligned_allocator<pointX_t> > ndcurves::t_pointX_t

◆ t_time_t

◆ t_waypoint_t

◆ time_waypoints_t

◆ transform_t

typedef Eigen::Transform<double, 3, Eigen::Affine> ndcurves::transform_t

◆ waypoint_t

Function Documentation

◆ bezier_from_curve()

template<typename Bezier >
Bezier ndcurves::bezier_from_curve ( const typename Bezier::curve_abc_t &  curve)

Converts a cubic hermite spline or polynomial of order 3 or less to a cubic bezier curve.

Parameters
curve: the polynomial of order 3 or less/cubic hermite spline defined between [Tmin,Tmax] to convert.
Returns
the equivalent cubic bezier curve.

◆ cross() [1/4]

Eigen::Vector3d ndcurves::cross ( const Eigen::Vector3d &  a,
const Eigen::Vector3d &  b 
)
inline

◆ cross() [2/4]

Eigen::Vector3f ndcurves::cross ( const Eigen::Vector3f &  a,
const Eigen::Vector3f &  b 
)
inline

◆ cross() [3/4]

Eigen::Vector3d ndcurves::cross ( const Eigen::VectorXd &  a,
const Eigen::VectorXd &  b 
)
inline

◆ cross() [4/4]

template<typename N , bool S>
linear_variable< N, S > ndcurves::cross ( const linear_variable< N, S > &  a,
const linear_variable< N, S > &  b 
)

◆ evaluateLinear()

BezierFixed ndcurves::evaluateLinear ( const BezierLinear bIn,
const x 
)

◆ hermite_from_curve()

template<typename Hermite >
Hermite ndcurves::hermite_from_curve ( const typename Hermite::curve_abc_t &  curve)

Converts a polynomial of order 3 or less/cubic bezier curve to a cubic hermite spline.

Parameters
curve: the polynomial of order 3 or less/cubic bezier curve defined between [Tmin,Tmax] to convert.
Returns
the equivalent cubic hermite spline.

◆ isApprox()

template<typename T >
bool ndcurves::isApprox ( const T  a,
const T  b,
const T  eps = 1e-6 
)

◆ operator*() [1/9]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator* ( const bezier_curve< T, N, S, P > &  p1,
const double  k 
)

◆ operator*() [2/9]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator* ( const double  k,
const bezier_curve< T, N, S, P > &  p1 
)

◆ operator*() [3/9]

template<typename N , bool S>
linear_variable< N, S > ndcurves::operator* ( const double  k,
const linear_variable< N, S > &  w 
)

◆ operator*() [4/9]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator* ( const double  k,
const polynomial< T, N, S, P, TP > &  p1 
)

◆ operator*() [5/9]

◆ operator*() [6/9]

template<typename N >
quadratic_variable< N > ndcurves::operator* ( const linear_variable< N > &  w1,
const linear_variable< N > &  w2 
)
inline

◆ operator*() [7/9]

template<typename N , bool S>
linear_variable< N, S > ndcurves::operator* ( const linear_variable< N, S > &  w,
const double  k 
)

◆ operator*() [8/9]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator* ( const polynomial< T, N, S, P, TP > &  p1,
const double  k 
)

◆ operator*() [9/9]

◆ operator+() [1/8]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator+ ( const bezier_curve< T, N, S, P > &  p1,
const bezier_curve< T, N, S, P > &  p2 
)

◆ operator+() [2/8]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator+ ( const bezier_curve< T, N, S, P > &  p1,
const typename bezier_curve< T, N, S, P >::point_t &  point 
)

◆ operator+() [3/8]

template<typename N , bool S>
linear_variable< N, S > ndcurves::operator+ ( const linear_variable< N, S > &  w1,
const linear_variable< N, S > &  w2 
)
inline

◆ operator+() [4/8]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator+ ( const polynomial< T, N, S, P, TP > &  p1,
const polynomial< T, N, S, P, TP > &  p2 
)

◆ operator+() [5/8]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator+ ( const polynomial< T, N, S, P, TP > &  p1,
const typename polynomial< T, N, S, P, TP >::point_t &  point 
)

◆ operator+() [6/8]

◆ operator+() [7/8]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator+ ( const typename bezier_curve< T, N, S, P >::point_t &  point,
const bezier_curve< T, N, S, P > &  p1 
)

◆ operator+() [8/8]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator+ ( const typename polynomial< T, N, S, P, TP >::point_t &  point,
const polynomial< T, N, S, P, TP > &  p1 
)

◆ operator-() [1/11]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator- ( const bezier_curve< T, N, S, P > &  p1)

◆ operator-() [2/11]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator- ( const bezier_curve< T, N, S, P > &  p1,
const bezier_curve< T, N, S, P > &  p2 
)

◆ operator-() [3/11]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator- ( const bezier_curve< T, N, S, P > &  p1,
const typename bezier_curve< T, N, S, P >::point_t &  point 
)

◆ operator-() [4/11]

◆ operator-() [5/11]

template<typename N , bool S>
linear_variable< N, S > ndcurves::operator- ( const linear_variable< N, S > &  w1,
const linear_variable< N, S > &  w2 
)

◆ operator-() [6/11]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator- ( const polynomial< T, N, S, P, TP > &  p1)

◆ operator-() [7/11]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator- ( const polynomial< T, N, S, P, TP > &  p1,
const polynomial< T, N, S, P, TP > &  p2 
)

◆ operator-() [8/11]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator- ( const polynomial< T, N, S, P, TP > &  p1,
const typename polynomial< T, N, S, P, TP >::point_t &  point 
)

◆ operator-() [9/11]

◆ operator-() [10/11]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator- ( const typename bezier_curve< T, N, S, P >::point_t &  point,
const bezier_curve< T, N, S, P > &  p1 
)

◆ operator-() [11/11]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator- ( const typename polynomial< T, N, S, P, TP >::point_t &  point,
const polynomial< T, N, S, P, TP > &  p1 
)

◆ operator/() [1/4]

template<typename T , typename N , bool S, typename P >
bezier_curve< T, N, S, P > ndcurves::operator/ ( const bezier_curve< T, N, S, P > &  p1,
const double  k 
)

◆ operator/() [2/4]

template<typename N , bool S>
linear_variable< N, S > ndcurves::operator/ ( const linear_variable< N, S > &  w,
const double  k 
)

◆ operator/() [3/4]

template<typename T , typename N , bool S, typename P , typename TP >
polynomial< T, N, S, P, TP > ndcurves::operator/ ( const polynomial< T, N, S, P, TP > &  p1,
const double  k 
)

◆ operator/() [4/4]

◆ operator<<()

template<typename N , bool S>
std::ostream & ndcurves::operator<< ( std::ostream &  os,
const linear_variable< N, S > &  l 
)

◆ polynomial_from_curve()

template<typename Polynomial >
Polynomial ndcurves::polynomial_from_curve ( const typename Polynomial::curve_abc_t &  curve)

Converts a cubic hermite spline or a bezier curve to a polynomial.

Parameters
curve: the bezier curve/cubic hermite spline defined between [Tmin,Tmax] to convert.
Returns
the equivalent polynomial.

◆ PseudoInverse()

template<typename _Matrix_Type_ >
void ndcurves::PseudoInverse ( _Matrix_Type_ pinvmat)

An inverse kinematics architecture enforcing an arbitrary number of strict priority levels (Reference : Boulic et Al. 2003)

◆ skew()

template<typename Matrix3 , typename Point >
Matrix3 ndcurves::skew ( const Point &  x)

◆ to_diagonal()

template<typename N >
Eigen::Matrix< N, Eigen::Dynamic, Eigen::Dynamic > ndcurves::to_diagonal ( const Eigen::Ref< const Eigen::Matrix< N, Eigen::Dynamic, 1 > >  vec)

Transforms a vector into a diagonal matrix.

◆ vectorFromEigenArray()

template<typename PointList , typename T_Point >
T_Point ndcurves::vectorFromEigenArray ( const PointList array)

◆ vectorFromEigenVector()

template<typename PointList , typename T_Point >
T_Point ndcurves::vectorFromEigenVector ( const PointList vector)

◆ vectorToEigenArray()

PointList ndcurves::vectorToEigenArray ( const T_point vect)