|
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) |
|
const Base & | getComponent (std::size_t i) const |
|
std::size_t | numComponents () const |
|
template<class Concrete> |
void | addComponent (const Concrete &c) |
|
void | addComponent (const CartesianProductTpl &other) |
|
| CartesianProductTpl ()=default |
|
| CartesianProductTpl (const CartesianProductTpl &)=default |
|
CartesianProductTpl & | operator= (const CartesianProductTpl &)=default |
|
| CartesianProductTpl (CartesianProductTpl &&)=default |
|
CartesianProductTpl & | operator= (CartesianProductTpl &&)=default |
|
| CartesianProductTpl (const std::vector< xyz::polymorphic< Base > > &components) |
|
| CartesianProductTpl (std::vector< xyz::polymorphic< Base > > &&components) |
|
| CartesianProductTpl (std::initializer_list< xyz::polymorphic< Base > > components) |
|
| CartesianProductTpl (const xyz::polymorphic< Base > &left, const xyz::polymorphic< Base > &right) |
|
int | nx () const |
| Get manifold representation dimension.
|
|
int | ndx () const |
| Get manifold tangent space dimension.
|
|
void | neutral_impl (VectorRef out) const |
|
void | rand_impl (VectorRef out) const |
|
bool | isNormalized (const ConstVectorRef &x) const |
| Check if the input vector x is a viable element of the manifold.
|
|
template<class VectorType, class U = std::remove_const_t<VectorType>> |
std::vector< U > | split_impl (VectorType &x) const |
|
template<class VectorType, class U = std::remove_const_t<VectorType>> |
std::vector< U > | split_vector_impl (VectorType &v) const |
|
std::vector< VectorRef > | split (VectorRef x) const |
|
std::vector< ConstVectorRef > | split (const ConstVectorRef &x) const |
|
std::vector< VectorRef > | split_vector (VectorRef v) const |
|
std::vector< ConstVectorRef > | split_vector (const ConstVectorRef &v) const |
|
VectorXs | merge (const std::vector< VectorXs > &xs) const |
|
VectorXs | merge_vector (const std::vector< VectorXs > &vs) const |
|
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) |
| Scalar type.
|
|
virtual | ~ManifoldAbstractTpl ()=default |
|
VectorXs | neutral () const |
| Get the neutral element \(e \in M\) from the manifold (if this makes sense).
|
|
void | neutral (VectorRef out) const |
| Get the neutral element \(e \in M\) from the manifold (if this makes sense).
|
|
VectorXs | rand () const |
| Sample a random point \(x \in M\) on the manifold.
|
|
void | rand (VectorRef out) const |
| Sample a random point \(x \in M\) on the manifold.
|
|
TangentSpaceType | tangentSpace () const |
| Return an object representing the tangent space as a manifold.
|
|
void | integrate (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const |
| Manifold integration operation \(x \oplus v\).
|
|
void | Jintegrate (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
| Jacobian of the integation operation.
|
|
void | JintegrateTransport (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
| Perform the parallel transport operation.
|
|
void | difference (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const |
| Manifold difference/retraction operation \(x_1 \ominus x_0\).
|
|
void | Jdifference (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const |
| Jacobian of the retraction operation.
|
|
void | interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
|
VectorXs | integrate (const ConstVectorRef &x, const ConstVectorRef &v) const |
| Manifold integration operation \(x \oplus v\).
|
|
VectorXs | difference (const ConstVectorRef &x0, const ConstVectorRef &x1) const |
| Manifold difference/retraction operation \(x_1 \ominus x_0\).
|
|
VectorXs | interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u) const |
| Interpolation operation.
|
|
|
void | integrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const |
| Perform the manifold integration operation.
|
|
void | difference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const |
| Implementation of the manifold retraction operation.
|
|
void | Jintegrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
|
void | JintegrateTransport_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
|
void | Jdifference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const |
|
virtual void | interpolate_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
| Interpolation operation.
|
|
template<typename _Scalar>
struct aligator::CartesianProductTpl< _Scalar >
The cartesian product of two or more manifolds.
Definition at line 13 of file cartesian-product.hpp.