sva::conversions Namespace Reference

Generic functions to convert to/from sva types. More...

Typedefs

template<typename T >
using affine3_t = Eigen::Transform< T, 3, Eigen::TransformTraits::Affine >
 Define an Eigen::Affine3<T> More...
 

Functions

template<typename Derived >
PTransform< typename Derived::Scalar > fromHomogeneous (const Eigen::MatrixBase< Derived > &m, bool rightHandedness=RightHanded)
 Convert an homogeneous matrix into a Plucker Transform. More...
 
template<typename T >
Eigen::Matrix< T, 4, 4 > toHomogeneous (const PTransform< T > &pt, bool rightHandedness=RightHanded)
 Convert a Plucker Transform into an homogeneous matrix. More...
 
template<typename T >
PTransform< T > fromAffine (const affine3_t< T > &a, bool rightHandedness=RightHanded)
 Convert an Eigen::Affine3<T> into a Plucker Transform. More...
 
template<typename T >
affine3_t< T > toAffine (const PTransform< T > &pt, bool rightHandedness=RightHanded)
 Convert a Plucker Transform into an Eigen::Affine3<T> More...
 

Variables

constexpr bool RightHanded = true
 Alias for right handedness (default) More...
 
constexpr bool LeftHanded = false
 Alias for left handedness. More...
 

Detailed Description

Generic functions to convert to/from sva types.

Each function in the conversions namespace allows to convert to and from another type. An important point to note is that sva internally uses a left-handed convention. Hence, all functions will assume that the non-sva objects use a right-handed convention and convert accordingly. This is overridable by the "rightHandedness" argument.

Typedef Documentation

◆ affine3_t

template<typename T >
using sva::conversions::affine3_t = typedef Eigen::Transform<T, 3, Eigen::TransformTraits::Affine>

Define an Eigen::Affine3<T>

Function Documentation

◆ fromAffine()

template<typename T >
PTransform<T> sva::conversions::fromAffine ( const affine3_t< T > &  a,
bool  rightHandedness = RightHanded 
)

Convert an Eigen::Affine3<T> into a Plucker Transform.

Returns
A Plucker Transform of the same type as the input Transform
Parameters
aInput Eigen Transform. Only rotation and translation components are considered.
RightHandednessHandedness of the input Eigen Transform. Defaults to right handedness.

◆ fromHomogeneous()

template<typename Derived >
PTransform<typename Derived::Scalar> sva::conversions::fromHomogeneous ( const Eigen::MatrixBase< Derived > &  m,
bool  rightHandedness = RightHanded 
)

Convert an homogeneous matrix into a Plucker Transform.

Returns
Plucker Transform equivalent to the input homogeneous matrix
Parameters
mA 4x4 Eigen Matrix
RightHandednessHandedness of the input homogeneous matrix. Defaults to right handedness.

◆ toAffine()

template<typename T >
affine3_t<T> sva::conversions::toAffine ( const PTransform< T > &  pt,
bool  rightHandedness = RightHanded 
)

Convert a Plucker Transform into an Eigen::Affine3<T>

Returns
An Eigen::Transform of dimension 3, and same scalar type as the input PTransform.
Parameters
ptInput Plucker Transform.
RightHandednessHandedness of the output Eigen Transform. Defaults to right handedness.

◆ toHomogeneous()

template<typename T >
Eigen::Matrix<T, 4, 4> sva::conversions::toHomogeneous ( const PTransform< T > &  pt,
bool  rightHandedness = RightHanded 
)

Convert a Plucker Transform into an homogeneous matrix.

Returns
An Eigen 4x4 homogeneous matrix equivalent to the input Plucker Transform
Parameters
ptPlucker Transform
RightHandednessHandedness of the output homogeneous matrix. Defaults to right handedness.

Variable Documentation

◆ LeftHanded

constexpr bool sva::conversions::LeftHanded = false
constexpr

Alias for left handedness.

◆ RightHanded

constexpr bool sva::conversions::RightHanded = true
constexpr

Alias for right handedness (default)