manif::internal namespace

Classes

template<>
struct is_ad<autodiff::dual0th>
template<>
struct is_ad<autodiff::dual1st>
template<>
struct is_ad<autodiff::dual2nd>
template<>
struct is_ad<autodiff::dual3rd>
template<>
struct is_ad<autodiff::dual4th>
template<>
struct is_ad<dual0thf>
template<>
struct is_ad<dual1stf>
template<>
struct is_ad<dual2ndf>
template<>
struct is_ad<dual3rdf>
template<>
struct is_ad<dual4thf>
template<size_t N, typename T>
struct is_ad<autodiff::Real<N, T>>
struct YOU_MUST_INCLUDE_MANIF_BEFORE_CERES_HELPER_HEADERS
template<typename _Scalar, int _N>
struct is_ad<ceres::Jet<_Scalar, _N>>
template<typename Derived>
struct AssignmentEvaluatorImpl
template<typename Derived>
struct AssignmentEvaluator
template<typename Derived>
struct BracketEvaluatorImpl
template<typename Derived, typename DerivedOther>
struct BracketEvaluator
template<typename _Scalar, template<typename> class ... _T>
struct traits<Bundle<_Scalar, _T ...>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<BundleBase<Derived>>
Random specialization for Bundle objects.
template<typename _Scalar, template<typename> class ... T>
struct traits<Eigen::Map<Bundle<_Scalar, T...>, 0>>
traits specialization for Eigen Map
template<typename _Scalar, template<typename> class ... T>
struct traits<Eigen::Map<const Bundle<_Scalar, T...>, 0>>
traits specialization for Eigen const Map
template<typename _Derived>
struct LieGroupProperties<BundleBase<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<BundleTangentBase<_Derived>>
traits specialization
template<typename _Scalar, template<typename> class ... _T>
struct traits<BundleTangent<_Scalar, _T...>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<BundleTangentBase<Derived>>
Generator specialization for BundleTangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<BundleTangentBase<Derived>>
Random specialization for BundleTangent objects.
template<typename Derived>
struct VeeEvaluatorImpl<BundleTangentBase<Derived>>
Vee specialization for BundleTangentBase objects.
template<typename _Scalar, template<typename> class ... T>
struct traits<Eigen::Map<BundleTangent<_Scalar, T...>, 0>>
traits specialization for Eigen Map
template<typename _Scalar, template<typename> class ... T>
struct traits<Eigen::Map<const BundleTangent<_Scalar, T...>, 0>>
traits specialization for Eigen const Map
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl
template<typename Derived, typename NewScalar>
struct CastEvaluator
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols, typename NewScalar>
struct traitscast<Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>, NewScalar>
traitscast specialization that come handy when writing thing like using Matrix3f = typename traitscast<Matrix3d, float>::cast;
template<typename Derived>
struct GeneratorEvaluator
template<typename Derived>
struct InnerWeightsEvaluator
template<typename Derived>
struct RandomEvaluatorImpl
template<typename Derived>
struct RandomEvaluator
template<typename _Scalar, unsigned int _N>
struct traits<Rn<_Scalar, _N>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<RnBase<Derived>>
Random specialization for RnBase objects.
template<typename _Scalar, unsigned int _N>
struct traits<Eigen::Map<Rn<_Scalar, _N>, 0>>
traits specialization for Eigen Map
template<typename _Scalar, unsigned int _N>
struct traits<Eigen::Map<const Rn<_Scalar, _N>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<RnBase<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<RnTangentBase<_Derived>>
traits specialization
template<typename _Scalar, unsigned int _N>
struct traits<RnTangent<_Scalar, _N>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<RnTangentBase<Derived>>
Generator specialization for RnTangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<RnTangentBase<Derived>>
Random specialization for RnTangentBase objects.
template<typename Derived>
struct BracketEvaluatorImpl<RnTangentBase<Derived>>
Bracket specialization for RnTangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<RnTangentBase<Derived>>
Vee specialization for RnTangentBase objects.
template<typename _Scalar, unsigned int _N>
struct traits<Eigen::Map<RnTangent<_Scalar, _N>, 0>>
traits specialization for Eigen Map
template<typename _Scalar, unsigned int _N>
struct traits<Eigen::Map<const RnTangent<_Scalar, _N>, 0>>
traits specialization for Eigen Map const
template<typename _Scalar>
struct traits<SE2<_Scalar>>
traits specialization
template<typename Derived>
struct RandomEvaluatorImpl<SE2Base<Derived>>
Random specialization for SE2Base objects.
template<typename Derived>
struct AssignmentEvaluatorImpl<SE2Base<Derived>>
Assignment assert specialization for SE2Base objects.
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl<SE2Base<Derived>, NewScalar>
Cast specialization for SE2Base objects.
template<typename _Scalar>
struct traits<Eigen::Map<SE2<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SE2<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<SE2Base<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<SE2TangentBase<_Derived>>
traits specialization
template<typename _Scalar>
struct traits<SE2Tangent<_Scalar>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<SE2TangentBase<Derived>>
Generator specialization for SE2TangentBase objects.
template<typename Derived>
struct InnerWeightsEvaluator<SE2TangentBase<Derived>>
Inner weight matrix specialization for SE2TangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<SE2TangentBase<Derived>>
Random specialization for SE2TangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<SE2TangentBase<Derived>>
Vee specialization for SE2TangentBase objects.
template<typename _Scalar>
struct traits<Eigen::Map<SE2Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SE2Tangent<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Scalar>
struct traits<SE3<_Scalar>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<SE3Base<Derived>>
Random specialization for SE3Base objects.
template<typename Derived>
struct AssignmentEvaluatorImpl<SE3Base<Derived>>
Assignment assert specialization for SE3Base objects.
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl<SE3Base<Derived>, NewScalar>
Cast specialization for SE3Base objects.
template<typename _Scalar>
struct traits<Eigen::Map<SE3<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SE3<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<SE3Base<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<SE3TangentBase<_Derived>>
traits specialization
template<typename _Scalar>
struct traits<SE3Tangent<_Scalar>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<SE3TangentBase<Derived>>
Generator specialization for SE3TangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<SE3TangentBase<Derived>>
Random specialization for SE3TangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<SE3TangentBase<Derived>>
Vee specialization for SE3TangentBase objects.
template<typename _Scalar>
struct traits<Eigen::Map<SE3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SE3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<SE_2_3<_Scalar>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<SE_2_3Base<Derived>>
Random specialization for SE_2_3Base objects.
template<typename Derived>
struct AssignmentEvaluatorImpl<SE_2_3Base<Derived>>
Assignment assert specialization for SE2Base objects.
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl<SE_2_3Base<Derived>, NewScalar>
Cast specialization for SE_2_3Base objects.
template<typename _Scalar>
struct traits<Eigen::Map<SE_2_3<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SE_2_3<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<SE_2_3Base<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<SE_2_3TangentBase<_Derived>>
traits specialization
template<typename _Scalar>
struct traits<SE_2_3Tangent<_Scalar>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<SE_2_3TangentBase<Derived>>
Generator specialization for SE_2_3TangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<SE_2_3TangentBase<Derived>>
Random specialization for SE_2_3TangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<SE_2_3TangentBase<Derived>>
Vee specialization for SE_2_3TangentBase objects.
template<typename _Scalar>
struct traits<Eigen::Map<SE_2_3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SE_2_3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<SGal3<_Scalar>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<SGal3Base<Derived>>
Random specialization for SGal3Base objects.
template<typename Derived>
struct AssignmentEvaluatorImpl<SGal3Base<Derived>>
Assignment assert specialization for SGal3Base objects.
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl<SGal3Base<Derived>, NewScalar>
Cast specialization for SGal3Base objects.
template<typename _Scalar>
struct traits<Eigen::Map<SGal3<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SGal3<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<SGal3Base<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<SGal3TangentBase<_Derived>>
traits specialization
template<typename _Scalar>
struct traits<SGal3Tangent<_Scalar>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<SGal3TangentBase<Derived>>
Generator specialization for SGal3TangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<SGal3TangentBase<Derived>>
Random specialization for SGal3TangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<SGal3TangentBase<Derived>>
Vee specialization for SGal3TangentBase objects.
template<typename _Scalar>
struct traits<Eigen::Map<SGal3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SGal3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<SO2<_Scalar>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<SO2Base<Derived>>
Random specialization for SO2Base objects.
template<typename Derived>
struct AssignmentEvaluatorImpl<SO2Base<Derived>>
Assignment assert specialization for SO2Base objects.
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl<SO2Base<Derived>, NewScalar>
Cast specialization for SO2Base objects.
template<typename _Scalar>
struct traits<Eigen::Map<SO2<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SO2<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<SO2Base<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<SO2TangentBase<_Derived>>
traits specialization
template<typename _Scalar>
struct traits<SO2Tangent<_Scalar>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<SO2TangentBase<Derived>>
Generator specialization for SO2TangentBase objects. E = | 0 -1 | | 1 0 |.
template<typename Derived>
struct RandomEvaluatorImpl<SO2TangentBase<Derived>>
Random specialization for SO2TangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<SO2TangentBase<Derived>>
Vee specialization for SO2TangentBase objects.
template<typename _Scalar>
struct traits<Eigen::Map<SO2Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SO2Tangent<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Scalar>
struct traits<SO3<_Scalar>>
Traits specialization.
template<typename Derived>
struct RandomEvaluatorImpl<SO3Base<Derived>>
Random specialization for SO3Base objects.
template<typename Derived>
struct AssignmentEvaluatorImpl<SO3Base<Derived>>
Assignment assert specialization for SO3Base objects.
template<typename Derived, typename NewScalar>
struct CastEvaluatorImpl<SO3Base<Derived>, NewScalar>
Cast specialization for SO3Base objects.
template<typename _Scalar>
struct traits<Eigen::Map<SO3<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SO3<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename _Derived>
struct LieGroupProperties<SO3Base<_Derived>>
traits specialization
template<typename _Derived>
struct LieGroupProperties<SO3TangentBase<_Derived>>
traits specialization
template<typename _Scalar>
struct traits<SO3Tangent<_Scalar>>
Traits specialization.
template<typename Derived>
struct GeneratorEvaluator<SO3TangentBase<Derived>>
Generator specialization for SO3TangentBase objects.
template<typename Derived>
struct RandomEvaluatorImpl<SO3TangentBase<Derived>>
Random specialization for SO3TangentBase objects.
template<typename Derived>
struct VeeEvaluatorImpl<SO3TangentBase<Derived>>
Vee specialization for SO3TangentBase objects.
template<typename _Scalar>
struct traits<Eigen::Map<SO3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map
template<typename _Scalar>
struct traits<Eigen::Map<const SO3Tangent<_Scalar>, 0>>
traits specialization for Eigen Map const
template<typename T>
struct constexpr_false
template<typename T>
struct traits
template<typename T>
struct traits<const T>
template<typename _LieGroupBase>
struct LieGroupProperties
LieGroupProperties, a traits for defining some group properties. E.g. Space dimension, Degrees of Freedom ...
template<typename _Class, typename _NewScalar>
struct traitscast
A traits helper to cast.
template<template<typename, template<typename> class...> class _Class, typename _Scalar, typename _NewScalar, template<typename> class ... Ts>
struct traitscast<_Class<_Scalar, Ts...>, _NewScalar>
Traits to change the scalar type of a template class.
template<template<typename, unsigned int> class _Class, typename _NewScalar, typename _Scalar, unsigned int _Dim>
struct traitscast<_Class<_Scalar, _Dim>, _NewScalar>
Specialization for Rn.
template<typename Scalar>
struct is_ad
A traits for detecting AutoDiff scalar types.
template<class, typename T>
struct has_rjacinv_impl
Has function 'rjacinv' traits.
template<typename T>
struct has_rjacinv_impl<decltype(void(std::declval<T>().rjacinv())), T>
template<typename T>
struct has_rjacinv
template<class, typename T>
struct has_ljacinv_impl
Has function 'ljacinv' traits.
template<typename T>
struct has_ljacinv_impl<decltype(void(std::declval<T>().ljacinv())), T>
template<typename T>
struct has_ljacinv
template<int ... _I>
struct intseq
intseq: std::integer_sequence-equivalent
template<typename _Seq1, typename _Seq2>
struct intseq_join
concatenate two intseqs
template<template<int ...> class _IntSeq, int ... _I1, int ... _I2>
struct intseq_join<_IntSeq<_I1...>, _IntSeq<_I2...>>
template<std::size_t _N>
struct make_intseq
generate intseq 0, 1, ..., N-1
template<>
struct make_intseq<0>
template<int N, int i, int j, int ... Args>
struct compute_indices_gen
template<int i, int j, int ... Args>
struct compute_indices_gen<1, i, j, Args...>
template<class, typename T>
struct is_manif_group_impl
template<typename T>
struct is_manif_group_impl<decltype(test_lie_group_base(std::declval<T>())), T>
template<typename T>
struct is_manif_group
template<class, typename T>
struct is_manif_tangent_impl
template<typename T>
struct is_manif_tangent_impl<decltype(test_tangent_base(std::declval<T>())), T>
template<typename T>
struct is_manif_tangent
template<typename Derived>
struct VeeEvaluatorImpl
template<typename Derived>
struct VeeEvaluator

Typedefs

using dual0thf = autodiff::HigherOrderDual<0, float>
using dual1stf = autodiff::HigherOrderDual<1, float>
using dual2ndf = autodiff::HigherOrderDual<2, float>
using dual3rdf = autodiff::HigherOrderDual<3, float>
using dual4thf = autodiff::HigherOrderDual<4, float>
template<std::size_t _N>
using make_intseq_t = typename make_intseq<_N>::type

Functions

template<typename T>
auto sqrtNewtonRaphson(T x, T curr, T prev) -> T constexpr
template<typename T>
auto csqrt(T x) -> T constexpr
template<typename TL, typename TR, int ... _Idx>
void vee_impl(TL& t, const TR& v, internal::intseq<_Idx...>)
template<class Base, class Derived>
auto is_base_of_v() -> bool constexpr
template<typename T>
auto accumulate(T t) -> T constexpr
template<typename T, typename... Rest>
auto accumulate(T t, Rest... rest) -> T constexpr
template<int... Args>
auto compute_indices() -> std::array<int, sizeof...(Args)> constexpr
Compute indices given block-sizes.
template<typename Derived>
void test_lie_group_base(LieGroupBase<Derived>&& s)
template<typename Derived>
void test_tangent_base(TangentBase<Derived>&& s)