Dynamic Cartesian product composed of elementary Lie groups defined in LieGroupVariant. More...
#include <cartesian-product-variant.hpp>
Public Types | |
typedef LieGroupCollectionTpl< Scalar, Options > | LieGroupCollection |
typedef LieGroupGenericTpl< LieGroupCollection > | LieGroupGeneric |
typedef LieGroupCollection::LieGroupVariant | LieGroupVariant |
Public Member Functions | |
template<typename LieGroupDerived > | |
void | append (const LieGroupBase< LieGroupDerived > &lg) |
Append a Lie group to the Cartesian product. More... | |
void | append (const LieGroupGeneric &lg) |
Append a Lie group to the Cartesian product. More... | |
CartesianProductOperationVariantTpl () | |
Default constructor. More... | |
CartesianProductOperationVariantTpl (const LieGroupGeneric &lg) | |
Constructor with one single Lie group. More... | |
CartesianProductOperationVariantTpl (const LieGroupGeneric &lg1, const LieGroupGeneric &lg2) | |
Constructor with two Lie groups. More... | |
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 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<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 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 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_dv_impl (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J) 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<typename LieGroup1 , typename LieGroup2 > | |
bool | isEqual (const CartesianProductOperation< LieGroup1, LieGroup2 > &other) const |
bool | isEqual_impl (const CartesianProductOperationVariantTpl &other) 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 > | |
bool | isSameConfiguration_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &prec) const |
std::string | name () const |
ConfigVector_t | neutral () const |
template<class Config_t > | |
void | normalize_impl (const Eigen::MatrixBase< Config_t > &qout) const |
int | nq () const |
int | nv () const |
CartesianProductOperationVariantTpl | operator* (const CartesianProductOperationVariantTpl &other) const |
Cartesian product between *this and other. More... | |
CartesianProductOperationVariantTpl & | operator*= (const CartesianProductOperationVariantTpl &other) |
Append other to *this. More... | |
template<typename LieGroupDerived > | |
CartesianProductOperationVariantTpl & | operator*= (const LieGroupBase< LieGroupDerived > &lg) |
Append a Lie group to *this. More... | |
CartesianProductOperationVariantTpl & | operator*= (const LieGroupGeneric &lg) |
Append a Lie group to *this. More... | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | PINOCCHIO_LIE_GROUP_TPL_PUBLIC_INTERFACE (CartesianProductOperationVariantTpl) |
template<class Config_t > | |
void | random_impl (const Eigen::MatrixBase< Config_t > &qout) 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 > | |
Scalar | squaredDistance_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const |
Protected Member Functions | |
PINOCCHIO_ALIGNED_STD_VECTOR (LieGroupGeneric) liegroups | |
Protected Attributes | |
std::vector< Index > | lg_nqs |
std::vector< Index > | lg_nvs |
std::string | m_name |
ConfigVector_t | m_neutral |
Index | m_nq |
Index | m_nv |
Dynamic Cartesian product composed of elementary Lie groups defined in LieGroupVariant.
Definition at line 20 of file cartesian-product-variant.hpp.
typedef LieGroupCollectionTpl<Scalar, Options> pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::LieGroupCollection |
Definition at line 51 of file cartesian-product-variant.hpp.
typedef LieGroupGenericTpl<LieGroupCollection> pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::LieGroupGeneric |
Definition at line 53 of file cartesian-product-variant.hpp.
typedef LieGroupCollection::LieGroupVariant pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::LieGroupVariant |
Definition at line 52 of file cartesian-product-variant.hpp.
|
inline |
Default constructor.
Definition at line 56 of file cartesian-product-variant.hpp.
|
inlineexplicit |
Constructor with one single Lie group.
[in] | lg | Lie group variant to insert inside the Cartesian product |
Definition at line 68 of file cartesian-product-variant.hpp.
|
inline |
Constructor with two Lie groups.
[in] | lg1 | Lie group variant to insert inside the Cartesian product |
[in] | lg2 | Lie group variant to insert inside the Cartesian product |
Definition at line 84 of file cartesian-product-variant.hpp.
|
inline |
Append a Lie group to the Cartesian product.
[in] | lg | Lie group to insert inside the Cartesian product |
Definition at line 108 of file cartesian-product-variant.hpp.
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::append | ( | const LieGroupGeneric & | lg | ) |
Append a Lie group to the Cartesian product.
[in] | lg | Lie group variant to insert inside the Cartesian product |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::dDifference_impl | ( | const Eigen::MatrixBase< ConfigL_t > & | q0, |
const Eigen::MatrixBase< ConfigR_t > & | q1, | ||
const Eigen::MatrixBase< JacobianOut_t > & | J | ||
) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::dDifference_product_impl | ( | const ConfigL_t & | q0, |
const ConfigR_t & | q1, | ||
const JacobianIn_t & | Jin, | ||
JacobianOut_t & | Jout, | ||
bool | dDifferenceOnTheLeft, | ||
const AssignmentOperatorType | op | ||
) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::difference_impl | ( | const Eigen::MatrixBase< ConfigL_t > & | q0, |
const Eigen::MatrixBase< ConfigR_t > & | q1, | ||
const Eigen::MatrixBase< Tangent_t > & | d | ||
) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::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 |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::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 |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::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 |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::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 |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::dIntegrateTransport_dq_impl | ( | const Eigen::MatrixBase< Config_t > & | q, |
const Eigen::MatrixBase< Tangent_t > & | v, | ||
const Eigen::MatrixBase< JacobianOut_t > & | J | ||
) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::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 |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::dIntegrateTransport_dv_impl | ( | const Eigen::MatrixBase< Config_t > & | q, |
const Eigen::MatrixBase< Tangent_t > & | v, | ||
const Eigen::MatrixBase< JacobianOut_t > & | J | ||
) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::integrate_impl | ( | const Eigen::MatrixBase< ConfigIn_t > & | q, |
const Eigen::MatrixBase< Velocity_t > & | v, | ||
const Eigen::MatrixBase< ConfigOut_t > & | qout | ||
) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::integrateCoeffWiseJacobian_impl | ( | const Eigen::MatrixBase< Config_t > & | q, |
const Eigen::MatrixBase< Jacobian_t > & | J | ||
) | const |
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isEqual | ( | const CartesianProductOperation< LieGroup1, LieGroup2 > & | other | ) | const |
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isEqual_impl | ( | const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > & | other | ) | const |
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isNormalized_impl | ( | const Eigen::MatrixBase< Config_t > & | qout, |
const Scalar & | prec | ||
) | const |
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isSameConfiguration_impl | ( | const Eigen::MatrixBase< ConfigL_t > & | q0, |
const Eigen::MatrixBase< ConfigR_t > & | q1, | ||
const Scalar & | prec | ||
) | const |
|
inline |
Definition at line 165 of file cartesian-product-variant.hpp.
|
inline |
Definition at line 170 of file cartesian-product-variant.hpp.
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::normalize_impl | ( | const Eigen::MatrixBase< Config_t > & | qout | ) | const |
|
inline |
Definition at line 156 of file cartesian-product-variant.hpp.
|
inline |
Definition at line 160 of file cartesian-product-variant.hpp.
CartesianProductOperationVariantTpl pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::operator* | ( | const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > & | other | ) | const |
Cartesian product between *this and other.
[in] | other | CartesianProductOperation to compose with this |
CartesianProductOperationVariantTpl& pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::operator*= | ( | const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > & | other | ) |
Append other to *this.
[in] | other | CartesianProductOperation to append to *this. |
|
inline |
Append a Lie group to *this.
[in] | lg | LieGroupGeneric to append to *this. |
Definition at line 150 of file cartesian-product-variant.hpp.
|
inline |
Append a Lie group to *this.
[in] | lg | LieGroupGeneric to append to *this. |
Definition at line 137 of file cartesian-product-variant.hpp.
|
protected |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::PINOCCHIO_LIE_GROUP_TPL_PUBLIC_INTERFACE | ( | CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > | ) |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::random_impl | ( | const Eigen::MatrixBase< Config_t > & | qout | ) | const |
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::randomConfiguration_impl | ( | const Eigen::MatrixBase< ConfigL_t > & | lower, |
const Eigen::MatrixBase< ConfigR_t > & | upper, | ||
const Eigen::MatrixBase< ConfigOut_t > & | qout | ||
) | const |
Scalar pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::squaredDistance_impl | ( | const Eigen::MatrixBase< ConfigL_t > & | q0, |
const Eigen::MatrixBase< ConfigR_t > & | q1 | ||
) | const |
|
protected |
Definition at line 294 of file cartesian-product-variant.hpp.
|
protected |
Definition at line 294 of file cartesian-product-variant.hpp.
|
protected |
Definition at line 295 of file cartesian-product-variant.hpp.
|
protected |
Definition at line 297 of file cartesian-product-variant.hpp.
|
protected |
Definition at line 293 of file cartesian-product-variant.hpp.
|
protected |
Definition at line 293 of file cartesian-product-variant.hpp.