Template Struct CartesianProductOperationVariantTpl
Defined in File cartesian-product-variant.hpp
Inheritance Relationships
Base Type
public pinocchio::LieGroupBase< CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > >
(Template Struct LieGroupBase)
Struct Documentation
-
template<typename _Scalar, int _Options, template<typename, int> class LieGroupCollectionTpl>
struct CartesianProductOperationVariantTpl : public pinocchio::LieGroupBase<CartesianProductOperationVariantTpl<_Scalar, _Options, LieGroupCollectionTpl>> Dynamic Cartesian product composed of elementary Lie groups defined in LieGroupVariant.
Public Types
-
typedef LieGroupCollectionTpl<Scalar, Options> LieGroupCollection
-
typedef LieGroupCollection::LieGroupVariant LieGroupVariant
-
typedef LieGroupGenericTpl<LieGroupCollection> LieGroupGeneric
Public Functions
-
EIGEN_MAKE_ALIGNED_OPERATOR_NEW PINOCCHIO_LIE_GROUP_TPL_PUBLIC_INTERFACE(CartesianProductOperationVariantTpl)
-
inline CartesianProductOperationVariantTpl()
Default constructor.
-
inline explicit CartesianProductOperationVariantTpl(const LieGroupGeneric &lg)
Constructor with one single Lie group.
- Parameters:
lg – [in] Lie group variant to insert inside the Cartesian product
-
inline CartesianProductOperationVariantTpl(const LieGroupGeneric &lg1, const LieGroupGeneric &lg2)
Constructor with two Lie groups.
- Parameters:
lg1 – [in] Lie group variant to insert inside the Cartesian product
lg2 – [in] Lie group variant to insert inside the Cartesian product
-
void append(const LieGroupGeneric &lg)
Append a Lie group to the Cartesian product.
- Parameters:
lg – [in] Lie group variant to insert inside the Cartesian product
-
template<typename LieGroupDerived>
inline void append(const LieGroupBase<LieGroupDerived> &lg) Append a Lie group to the Cartesian product.
- Parameters:
lg – [in] Lie group to insert inside the Cartesian product
-
CartesianProductOperationVariantTpl operator*(const CartesianProductOperationVariantTpl &other) const
Cartesian product between *this and other.
- Parameters:
other – [in] CartesianProductOperation to compose with this
- Returns:
A new Cartesian product betwenn *this and other.
-
CartesianProductOperationVariantTpl &operator*=(const CartesianProductOperationVariantTpl &other)
Append other to *this.
- Parameters:
other – [in] CartesianProductOperation to append to *this.
-
inline CartesianProductOperationVariantTpl &operator*=(const LieGroupGeneric &lg)
Append a Lie group to *this.
- Parameters:
lg – [in] LieGroupGeneric to append to *this.
-
template<typename LieGroupDerived>
inline CartesianProductOperationVariantTpl &operator*=(const LieGroupBase<LieGroupDerived> &lg) Append a Lie group to *this.
- Parameters:
lg – [in] LieGroupGeneric to append to *this.
-
inline int nq() const
-
inline int nv() const
-
inline std::string name() const
-
inline ConfigVector_t neutral() const
-
template<class ConfigL_t, class ConfigR_t, class Tangent_t>
void difference_impl(const Eigen::MatrixBase<ConfigL_t> &q0, const Eigen::MatrixBase<ConfigR_t> &q1, const Eigen::MatrixBase<Tangent_t> &d) const
-
template<ArgumentPosition arg, class ConfigL_t, class ConfigR_t, class JacobianOut_t>
void dDifference_impl(const Eigen::MatrixBase<ConfigL_t> &q0, const Eigen::MatrixBase<ConfigR_t> &q1, const Eigen::MatrixBase<JacobianOut_t> &J) const
-
template<ArgumentPosition arg, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
void dDifference_product_impl(const ConfigL_t &q0, const ConfigR_t &q1, const JacobianIn_t &Jin, JacobianOut_t &Jout, bool dDifferenceOnTheLeft, const AssignmentOperatorType op) const
-
template<class ConfigIn_t, class Velocity_t, class ConfigOut_t>
void integrate_impl(const Eigen::MatrixBase<ConfigIn_t> &q, const Eigen::MatrixBase<Velocity_t> &v, const Eigen::MatrixBase<ConfigOut_t> &qout) const
-
template<class Config_t, class Jacobian_t>
void integrateCoeffWiseJacobian_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Jacobian_t> &J) const
-
template<class Config_t, class Tangent_t, class JacobianOut_t>
void dIntegrate_dq_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Tangent_t> &v, const Eigen::MatrixBase<JacobianOut_t> &J, const AssignmentOperatorType op = SETTO) const
-
template<class Config_t, class Tangent_t, class JacobianOut_t>
void dIntegrate_dv_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Tangent_t> &v, const Eigen::MatrixBase<JacobianOut_t> &J, const AssignmentOperatorType op = SETTO) const
-
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrate_product_impl(const Config_t &q, const Tangent_t &v, const JacobianIn_t &Jin, JacobianOut_t &Jout, bool dIntegrateOnTheLeft, const ArgumentPosition arg, const AssignmentOperatorType op) const
-
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrateTransport_dq_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Tangent_t> &v, const Eigen::MatrixBase<JacobianIn_t> &J_in, const Eigen::MatrixBase<JacobianOut_t> &J_out) const
-
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrateTransport_dv_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Tangent_t> &v, const Eigen::MatrixBase<JacobianIn_t> &J_in, const Eigen::MatrixBase<JacobianOut_t> &J_out) const
-
template<class Config_t, class Tangent_t, class JacobianOut_t>
void dIntegrateTransport_dq_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Tangent_t> &v, const Eigen::MatrixBase<JacobianOut_t> &J) const
-
template<class Config_t, class Tangent_t, class JacobianOut_t>
void dIntegrateTransport_dv_impl(const Eigen::MatrixBase<Config_t> &q, const Eigen::MatrixBase<Tangent_t> &v, const Eigen::MatrixBase<JacobianOut_t> &J) const
-
template<class ConfigL_t, class ConfigR_t>
Scalar squaredDistance_impl(const Eigen::MatrixBase<ConfigL_t> &q0, const Eigen::MatrixBase<ConfigR_t> &q1) const
-
template<class Config_t>
bool isNormalized_impl(const Eigen::MatrixBase<Config_t> &qout, const Scalar &prec) const
-
template<class ConfigL_t, class ConfigR_t, class ConfigOut_t>
void randomConfiguration_impl(const Eigen::MatrixBase<ConfigL_t> &lower, const Eigen::MatrixBase<ConfigR_t> &upper, const Eigen::MatrixBase<ConfigOut_t> &qout) const
-
template<class ConfigL_t, class ConfigR_t>
bool isSameConfiguration_impl(const Eigen::MatrixBase<ConfigL_t> &q0, const Eigen::MatrixBase<ConfigR_t> &q1, const Scalar &prec) const
-
bool isEqual_impl(const CartesianProductOperationVariantTpl &other) const
-
template<typename LieGroup1, typename LieGroup2>
bool isEqual(const CartesianProductOperation<LieGroup1, LieGroup2> &other) const
Protected Functions
- PINOCCHIO_ALIGNED_STD_VECTOR (LieGroupGeneric) liegroups
-
typedef LieGroupCollectionTpl<Scalar, Options> LieGroupCollection