Go to the documentation of this file.
17 template <
class TScalar,
int kDim>
20 static int constexpr
kDof = kDim;
23 using Params = Eigen::Vector<TScalar, kDim>;
35 return this->
vec - other.params();
51 return pointExamples<Scalar, kDim>();
54 template <concepts::Range TSequenceContainer>
55 static auto average(TSequenceContainer
const& range)
56 -> std::optional<VectorManifold> {
57 size_t const len = std::distance(std::begin(range), std::end(range));
61 for (
auto const& m : range) {
#define SOPHUS_ASSERT_GE(...)
Definition: common.h:42
Definition: vector_manifold.h:18
auto ominus(VectorManifold const &other) const -> Tangent
Definition: vector_manifold.h:34
Params vec
Definition: vector_manifold.h:67
auto params() const -> Params const &
Definition: vector_manifold.h:44
Image MutImage, owning images types.
Definition: num_diff.h:20
VectorManifold(Params const &vec)
Definition: vector_manifold.h:28
TScalar Scalar
Definition: vector_manifold.h:19
VectorManifold()
Definition: vector_manifold.h:26
auto oplus(Tangent const &a) const -> VectorManifold
Definition: vector_manifold.h:30
static constexpr int kNumParams
Definition: vector_manifold.h:21
static constexpr int kDof
Definition: vector_manifold.h:20
Eigen::Vector< TScalar, kDim > Params
Definition: vector_manifold.h:23
static auto fromParams(Params const ¶ms) -> VectorManifold
Definition: vector_manifold.h:38
static auto average(TSequenceContainer const &range) -> std::optional< VectorManifold >
Definition: vector_manifold.h:55
auto setParams(Params const ¶ms) -> void
Definition: vector_manifold.h:42
static auto tangentExamples() -> std::vector< Tangent >
Definition: vector_manifold.h:50
auto unsafeMutPtr() -> Scalar *
Definition: vector_manifold.h:48
Params Tangent
Definition: vector_manifold.h:24
auto ptr() const -> Scalar const *
Definition: vector_manifold.h:46