Template Struct SE2

Inheritance Relationships

Base Type

Struct Documentation

template<typename _Scalar>
struct SE2 : public manif::SE2Base<SE2<_Scalar>>

Represents an element of SE2.

Public Types

using Translation = typename Base::Translation

Public Functions

SE2() = default
~SE2() = default
MANIF_COPY_CONSTRUCTOR (SE2) MANIF_MOVE_CONSTRUCTOR(SE2) template< typename _DerivedOther > SE2(const LieGroupBase< _DerivedOther > &o)
MANIF_GROUP_ASSIGN_OP (SE2) SE2(const Translation &t

Constructor given a translation and a unit complex number.

Parameters:
  • t[in] A translation vector.

  • c[in] A complex number.

Throws:

manif::invalid_argument – on un-normalized 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.

Parameters:
  • x[in] The x-components of the translational part.

  • y[in] The y-components of the translational part.

  • c[in] 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.

Parameters:
  • x[in] The x-components of the translational part.

  • y[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.

Throws:

manif::invalid_argument – on un-normalized 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.

Parameters:
  • x[in] The x-components of the translational part.

  • y[in] The y-components of the translational part.

  • c[in] The unitary complex number.

Throws:

manif::invalid_argument – on un-normalized complex number.

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

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

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().

Parameters:

h[in] an isometry object from Eigen

DataType &coeffs()

Access the underlying data.

Parameters:

a[out] reference to the underlying Eigen vector

const DataType &coeffs() const

Access the underlying data.

Parameters:

a[out] const reference to the underlying Eigen vector

Public Members

const std::complex<Scalar> &c

Protected Attributes

DataType data_

Underlying data (Eigen) vector.