template<typename _Scalar>
manif::SE2 struct

Represents an element of SE2.

Base classes

template<typename _Derived>
struct SE2Base<SE2<_Scalar>>
The base class of the SE2 group.

Public types

using Translation = typename Base::Translation

Constructors, destructors, conversion operators

SE2() defaulted
~SE2() defaulted
template<typename _DerivedOther>
SE2(const LieGroupBase<_DerivedOther>& o)
SE2(const Translation& t, const std::complex<Scalar>& c)
Constructor given a translation and a unit complex number.
SE2(const Scalar x, const Scalar y, const Scalar theta)
Constructor given the x and y components of the translational part and an angle.
SE2(const Scalar x, const Scalar y, const Scalar real, const Scalar imag)
Constructor given the x and y components of the translational part and the real and imaginary part of a unit complex number.
SE2(const Scalar x, const Scalar y, const std::complex<Scalar>& c)
Constructor given the x and y components of the translational part and the real and imaginary part of a unit complex number.
SE2(const Eigen::Transform<_Scalar, 2, Eigen::Isometry>& h)
Constructor from a 2D Eigen::Isometry<Scalar>

Public functions

auto coeffs() -> DataType&
Access the underlying data.
auto coeffs() const -> const DataType&
Access the underlying data.

Protected variables

DataType data_
Underlying data (Eigen) vector.

Function documentation

template<typename _Scalar>
manif::SE2<_Scalar>::SE2(const Translation& t, const std::complex<Scalar>& c)

Constructor given a translation and a unit complex number.

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

template<typename _Scalar>
manif::SE2<_Scalar>::SE2(const Scalar x, const Scalar y, const Scalar theta)

Constructor given the x and y components of the translational part and an angle.

Parameters
in The x-components of the translational part.
in The y-components of the translational part.
theta

template<typename _Scalar>
manif::SE2<_Scalar>::SE2(const Scalar x, const Scalar y, const Scalar real, const Scalar imag)

Constructor given the x and y components of the translational part and the real and imaginary part of a unit complex number.

Parameters
in The x-components of the translational part.
in The y-components of the translational part.
real in The real of a unitary complex number.
imag in The imaginary of a unitary complex number.
Exceptions
manif::invalid_argument on un-normalized complex number.

template<typename _Scalar>
manif::SE2<_Scalar>::SE2(const Scalar x, const Scalar y, const std::complex<Scalar>& c)

Constructor given the x and y components of the translational part and the real and imaginary part of a unit complex number.

Parameters
in The x-components of the translational part.
in The y-components of the translational part.
in The unitary complex number.
Exceptions
manif::invalid_argument on un-normalized complex number.

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

Constructor from a 2D 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().