template class Eigen::Map<sophus::Cartesian<TScalar, kM>, kOptions>¶
Overview¶
Specialization of Eigen::Map for Cartesian
; derived from CartesianBase. More…
#include <cartesian.h> template <class TScalar, int kM, int kOptions> class Map<sophus::Cartesian<TScalar, kM>, kOptions>: public sophus:: CartesianBase< Map< sophus::Cartesian< TScalar, kM >, kOptions >, kM > { public: // typedefs using Base = sophus::CartesianBase<Map<sophus::Cartesian<TScalar, kM>, kOptions>, kM> ; using Scalar = TScalar ; using Transformation = typename Base::Transformation ; using Point = typename Base::Point ; using HomogeneousPoint = typename Base::HomogeneousPoint ; using Tangent = typename Base::Tangent ; // construction Map(Scalar* coeffs); // methods SOPHUS_FUNC Map<Eigen::Vector<Scalar, kM>, kOptions>& params(); SOPHUS_FUNC Map<Eigen::Vector<Scalar, kM>, kOptions> const& params() const; template <class TOtherDerived> SOPHUS_FUNC CartesianBase<TDerived, kM>& operator=(CartesianBase<TOtherDerived, kM> const& other); template < typename TOtherDerived, typename = typename std::enable_if<std::is_same<Scalar, ReturnScalar<TOtherDerived>>::value>::type > SOPHUS_FUNC CartesianBase<TDerived, kM>& operator*=(CartesianBase<TOtherDerived, kM> const& other); template <class TOtherDerived> SOPHUS_FUNC CartesianSum<TOtherDerived> operator*(CartesianBase<TOtherDerived, kM> const& other); template < typename TPointDerived, typename = typename std::enable_if<IsFixedSizeVector<TPointDerived, kM>::value>::type > SOPHUS_FUNC PointProduct<TPointDerived> operator*(Eigen::MatrixBase<TPointDerived> const& p); template < typename THPointDerived, typename = typename std::enable_if<IsFixedSizeVector<THPointDerived, kMatrixDim>::value>::type > SOPHUS_FUNC HomogeneousPointProduct<THPointDerived> operator*(Eigen::MatrixBase<THPointDerived> const& p); SOPHUS_FUNC Line operator*(Line const& l); SOPHUS_FUNC Hyperplane operator*(Hyperplane const& p); protected: // fields Map<Eigen::Vector<Scalar, kM>, kOptions> params_; };
Detailed Documentation¶
Specialization of Eigen::Map for Cartesian
; derived from CartesianBase.
Allows us to wrap Cartesian objects around POD array.
Methods¶
SOPHUS_FUNC Map<Eigen::Vector<Scalar, kM>, kOptions>& params()
Mutator of params vector.
SOPHUS_FUNC Map<Eigen::Vector<Scalar, kM>, kOptions> const& params() const
Accessor of params vector.
template <class TOtherDerived> SOPHUS_FUNC CartesianBase<TDerived, kM>& operator=(CartesianBase<TOtherDerived, kM> const& other)
Group multiplication, are vector additions.
template < typename TOtherDerived, typename = typename std::enable_if<std::is_same<Scalar, ReturnScalar<TOtherDerived>>::value>::type > SOPHUS_FUNC CartesianBase<TDerived, kM>& operator*=(CartesianBase<TOtherDerived, kM> const& other)
In-place group multiplication. This method is only valid if the return type of the multiplication is compatible with this Cartesian’s Scalar type.
template <class TOtherDerived> SOPHUS_FUNC CartesianSum<TOtherDerived> operator*(CartesianBase<TOtherDerived, kM> const& other)
Group multiplication, are vector additions.
template < typename TPointDerived, typename = typename std::enable_if<IsFixedSizeVector<TPointDerived, kM>::value>::type > SOPHUS_FUNC PointProduct<TPointDerived> operator*(Eigen::MatrixBase<TPointDerived> const& p)
Group action on points, again just vector addition.
template < typename THPointDerived, typename = typename std::enable_if<IsFixedSizeVector<THPointDerived, kMatrixDim>::value>::type > SOPHUS_FUNC HomogeneousPointProduct<THPointDerived> operator*(Eigen::MatrixBase<THPointDerived> const& p)
Group action on homogeneous points. See above for more details.
SOPHUS_FUNC Line operator*(Line const& l)
Group action on lines.
SOPHUS_FUNC Hyperplane operator*(Hyperplane const& p)
Group action on planes.