template<typename _Scalar>
manif::SE3 struct

Represent an element of SE3.

Base classes

template<typename _Derived>
struct SE3Base<SE3<_Scalar>>
The base class of the SE3 group.

Public types

using Translation = typename Base::Translation
using Quaternion = Eigen::Quaternion<Scalar>

Constructors, destructors, conversion operators

SE3() defaulted
~SE3() defaulted
template<typename _DerivedOther>
SE3(const LieGroupBase<_DerivedOther>& o)
SE3(const Translation& t, const Eigen::Quaternion<Scalar>& q)
Constructor given a translation and a unit quaternion.
SE3(const Translation& t, const Eigen::AngleAxis<Scalar>& angle_axis)
Constructor given a translation and an angle axis.
SE3(const Translation& t, const SO3<Scalar>& SO3)
Constructor given a translation and SO3 element.
SE3(const Scalar x, const Scalar y, const Scalar z, const Scalar roll, const Scalar pitch, const Scalar yaw)
Constructor given translation components and roll-pitch-yaw angles.
SE3(const Eigen::Transform<_Scalar, 3, Eigen::Isometry>& h)
Constructor from a 3D Eigen::Isometry<Scalar>

Public functions

auto coeffs() -> DataType&
auto coeffs() const -> const DataType&

Protected variables

DataType data_

Function documentation

template<typename _Scalar>
manif::SE3<_Scalar>::SE3(const Translation& t, const Eigen::Quaternion<Scalar>& q)

Constructor given a translation and a unit quaternion.

Parameters
in A translation vector.
in A unit quaternion.
Exceptions
manif::invalid_argument on un-normalized complex number.

template<typename _Scalar>
manif::SE3<_Scalar>::SE3(const Translation& t, const Eigen::AngleAxis<Scalar>& angle_axis)

Constructor given a translation and an angle axis.

Parameters
in A translation vector.
angle_axis in An angle-axis.

template<typename _Scalar>
manif::SE3<_Scalar>::SE3(const Translation& t, const SO3<Scalar>& SO3)

Constructor given a translation and SO3 element.

Parameters
in A translation vector.
SO3

template<typename _Scalar>
manif::SE3<_Scalar>::SE3(const Scalar x, const Scalar y, const Scalar z, const Scalar roll, const Scalar pitch, const Scalar yaw)

Constructor given translation components and roll-pitch-yaw angles.

Parameters
in The x component of the translation.
in The y component of the translation.
in The z component of the translation.
roll in The roll angle.
pitch in The pitch angle.
yaw in The yaw angle.

template<typename _Scalar>
manif::SE3<_Scalar>::SE3(const Eigen::Transform<_Scalar, 3, Eigen::Isometry>& h)

Constructor from a 3D Eigen::Isometry<Scalar>

Parameters
in an isometry object from Eigen

Isometry is a typedef from Eigen::Transform, in which the linear part is assumed a rotation matrix. This is used to speed up certain methods of Transform, especially inverse().