Typedef Sophus::IsMappable
Defined in File ceres_typetraits.hpp
Typedef Documentation
-
template<class T>
using Sophus::IsMappable = IsSpecialized<Eigen::internal::traits<std::decay_t<T>>> Type trait used to distinguish mappable vector types from scalars
We use this class to distinguish Sophus::Vector<Scalar, N> from Scalar types in LieGroup<T>::Tangent
Primary use is mapping LieGroup::Tangent over raw data, with 2 options:
LieGroup::Tangent is “scalar” (for SO2), then we just dereference pointer
LieGroup::Tangent is Sophus::Vector<…>, then we need to use Eigen::Map
Specialization of Eigen::internal::traits<T> for T is crucial for for constructing Eigen::Map<T>, thus we use that property for distinguishing between those two options. At this moment there seem to be no option to check this using only “external” API of Eigen