Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > Struct Template Reference

Dynamic Cartesian product composed of elementary Lie groups defined in LieGroupVariant. More...

#include <cartesian-product-variant.hpp>

Inheritance diagram for pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >:
Inheritance graph
[legend]

Public Types

typedef LieGroupCollectionTpl< Scalar, OptionsLieGroupCollection
 
typedef LieGroupGenericTpl< LieGroupCollectionLieGroupGeneric
 
typedef LieGroupCollection::LieGroupVariant LieGroupVariant
 
- Public Types inherited from pinocchio::LieGroupBase< CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > >
enum  
 
typedef Eigen::Matrix< Scalar, NQ, 1, OptionsConfigVector_t
 
typedef int Index
 
typedef Eigen::Matrix< Scalar, NV, NV, OptionsJacobianMatrix_t
 
typedef CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > LieGroupDerived
 
typedef traits< LieGroupDerived >::Scalar Scalar
 
typedef Eigen::Matrix< Scalar, NV, 1, OptionsTangentVector_t
 

Public Member Functions

void append (const LieGroupGeneric &lg)
 Append a Lie group to the Cartesian product. More...
 
template<typename LieGroupDerived >
void append (const LieGroupBase< LieGroupDerived > &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...
 
CartesianProductOperationVariantTploperator*= (const CartesianProductOperationVariantTpl &other)
 Append other to *this. More...
 
CartesianProductOperationVariantTploperator*= (const LieGroupGeneric &lg)
 Append a Lie group to *this. More...
 
template<typename LieGroupDerived >
CartesianProductOperationVariantTploperator*= (const LieGroupBase< LieGroupDerived > &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
 
- Public Member Functions inherited from pinocchio::LieGroupBase< CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > >
void integrate (const Eigen::MatrixBase< ConfigIn_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 Integrate a joint's configuration with a tangent vector during one unit time duration. More...
 
void integrateCoeffWiseJacobian (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Jacobian_t > &J) const
 Computes the Jacobian of the integrate operator around zero. More...
 
void dIntegrate (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the configuration vector or the tangent vector into tangent space at identity. More...
 
void dIntegrate (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, const ArgumentPosition arg, const AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the configuration vector or the tangent vector into tangent space at identity. More...
 
void dIntegrate_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, const AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the configuration vector into tangent space at identity. More...
 
void dIntegrate_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, int self, const Eigen::MatrixBase< JacobianOut_t > &Jout, const AssignmentOperatorType op=SETTO) const
 
void dIntegrate_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, int self, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout, const AssignmentOperatorType op=SETTO) const
 
void dIntegrate_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, const AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the tangent vector into tangent space at identity. More...
 
void dIntegrate_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, int self, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout, const AssignmentOperatorType op=SETTO) const
 
void dIntegrate_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, int self, const Eigen::MatrixBase< JacobianOut_t > &Jout, const AssignmentOperatorType op=SETTO) const
 
void dIntegrateTransport (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout, const ArgumentPosition arg) const
 Transport a matrix from the terminal to the originate tangent space of the integrate operation, with respect to the configuration or the velocity arguments. More...
 
void dIntegrateTransport (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< Jacobian_t > &J, const ArgumentPosition arg) const
 Transport in place a matrix from the terminal to the originate tangent space of the integrate operation, with respect to the configuration or the velocity arguments. More...
 
void dIntegrateTransport_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout) const
 Transport a matrix from the terminal to the originate tangent space of the integrate operation, with respect to the configuration argument. More...
 
void dIntegrateTransport_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< Jacobian_t > &J) const
 Transport in place a matrix from the terminal to the originate tangent space of the integrate operation, with respect to the configuration argument. More...
 
void dIntegrateTransport_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout) const
 Transport a matrix from the terminal to the originate tangent space of the integrate operation, with respect to the velocity argument. More...
 
void dIntegrateTransport_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< Jacobian_t > &J) const
 Transport in place a matrix from the terminal to the originate tangent space of the integrate operation, with respect to the velocity argument. More...
 
void interpolate (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &u, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 Interpolation between two joint's configurations. More...
 
void normalize (const Eigen::MatrixBase< Config_t > &qout) const
 Normalize the joint configuration given as input. For instance, the quaternion must be unitary. More...
 
bool isNormalized (const Eigen::MatrixBase< Config_t > &qin, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 Check whether the input joint configuration is normalized. For instance, the quaternion must be unitary. More...
 
void random (const Eigen::MatrixBase< Config_t > &qout) const
 Generate a random joint configuration, normalizing quaternions when necessary. More...
 
void randomConfiguration (const Eigen::MatrixBase< ConfigL_t > &lower_pos_limit, const Eigen::MatrixBase< ConfigR_t > &upper_pos_limit, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 Generate a configuration vector uniformly sampled among provided limits. More...
 
void difference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< Tangent_t > &v) const
 Computes the tangent vector that must be integrated during one unit time to go from q0 to q1. More...
 
void dDifference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< JacobianOut_t > &J) const
 Computes the Jacobian of the difference operation with respect to q0 or q1. More...
 
void dDifference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< JacobianOut_t > &J, const ArgumentPosition arg) const
 Computes the Jacobian of the difference operation with respect to q0 or q1. More...
 
void dDifference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< JacobianIn_t > &Jin, int self, const Eigen::MatrixBase< JacobianOut_t > &Jout, const AssignmentOperatorType op=SETTO) const
 
void dDifference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, int self, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout, const AssignmentOperatorType op=SETTO) const
 
Scalar squaredDistance (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
 Squared distance between two joint configurations. More...
 
Scalar distance (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
 Distance between two configurations of the joint. More...
 
bool isSameConfiguration (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 Check if two configurations are equivalent within the given precision. More...
 
bool operator== (const LieGroupBase &other) const
 
bool operator!= (const LieGroupBase &other) const
 
ConfigVector_t integrate (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v) const
 
ConfigVector_t interpolate (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &u) const
 
ConfigVector_t random () const
 
ConfigVector_t randomConfiguration (const Eigen::MatrixBase< ConfigL_t > &lower_pos_limit, const Eigen::MatrixBase< ConfigR_t > &upper_pos_limit) const
 
TangentVector_t difference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
 
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
 
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
 
void interpolate_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &u, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 
void normalize_impl (const Eigen::MatrixBase< Config_t > &qout) const
 
bool isNormalized_impl (const Eigen::MatrixBase< Config_t > &qin, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
Scalar squaredDistance_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
 
bool isSameConfiguration_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &prec) const
 
bool isEqual_impl (const LieGroupBase &) const
 Default equality check. By default, two LieGroupBase of same type are considered equal. More...
 
bool isDifferent_impl (const LieGroupBase &other) const
 
Index nq () const
 
Index nv () const
 Get dimension of Lie Group tangent space. More...
 
ConfigVector_t neutral () const
 Get neutral element as a vector. More...
 
std::string name () const
 Get name of instance. More...
 
CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > & derived ()
 
const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > & derived () const
 

Protected Member Functions

 PINOCCHIO_ALIGNED_STD_VECTOR (LieGroupGeneric) liegroups
 
- Protected Member Functions inherited from pinocchio::LieGroupBase< CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > >
 LieGroupBase ()
 
 LieGroupBase (const LieGroupBase &)
 
LieGroupBaseoperator= (const LieGroupBase &)
 

Protected Attributes

std::vector< Indexlg_nqs
 
std::vector< Indexlg_nvs
 
std::string m_name
 
ConfigVector_t m_neutral
 
Index m_nq
 
Index m_nv
 

Detailed Description

template<typename _Scalar, int _Options, template< typename, int > class LieGroupCollectionTpl>
struct pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >

Dynamic Cartesian product composed of elementary Lie groups defined in LieGroupVariant.

Definition at line 18 of file cartesian-product-variant.hpp.

Member Typedef Documentation

◆ LieGroupCollection

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
typedef LieGroupCollectionTpl<Scalar, Options> pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::LieGroupCollection

Definition at line 43 of file cartesian-product-variant.hpp.

◆ LieGroupGeneric

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
typedef LieGroupGenericTpl<LieGroupCollection> pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::LieGroupGeneric

Definition at line 45 of file cartesian-product-variant.hpp.

◆ LieGroupVariant

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
typedef LieGroupCollection::LieGroupVariant pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::LieGroupVariant

Definition at line 44 of file cartesian-product-variant.hpp.

Constructor & Destructor Documentation

◆ CartesianProductOperationVariantTpl() [1/3]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::CartesianProductOperationVariantTpl ( )
inline

Default constructor.

Definition at line 48 of file cartesian-product-variant.hpp.

◆ CartesianProductOperationVariantTpl() [2/3]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::CartesianProductOperationVariantTpl ( const LieGroupGeneric lg)
inlineexplicit

Constructor with one single Lie group.

Parameters
[in]lgLie group variant to insert inside the Cartesian product

Definition at line 59 of file cartesian-product-variant.hpp.

◆ CartesianProductOperationVariantTpl() [3/3]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::CartesianProductOperationVariantTpl ( const LieGroupGeneric lg1,
const LieGroupGeneric lg2 
)
inline

Constructor with two Lie groups.

Parameters
[in]lg1Lie group variant to insert inside the Cartesian product
[in]lg2Lie group variant to insert inside the Cartesian product

Definition at line 73 of file cartesian-product-variant.hpp.

Member Function Documentation

◆ append() [1/2]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::append ( const LieGroupGeneric lg)

Append a Lie group to the Cartesian product.

Parameters
[in]lgLie group variant to insert inside the Cartesian product

◆ append() [2/2]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<typename LieGroupDerived >
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::append ( const LieGroupBase< LieGroupDerived > &  lg)
inline

Append a Lie group to the Cartesian product.

Parameters
[in]lgLie group to insert inside the Cartesian product

Definition at line 95 of file cartesian-product-variant.hpp.

◆ dDifference_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<ArgumentPosition arg, class ConfigL_t , class ConfigR_t , class JacobianOut_t >
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

◆ dDifference_product_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<ArgumentPosition arg, class ConfigL_t , class ConfigR_t , class JacobianIn_t , class JacobianOut_t >
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

◆ difference_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class ConfigL_t , class ConfigR_t , class Tangent_t >
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

◆ dIntegrate_dq_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianOut_t >
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

◆ dIntegrate_dv_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianOut_t >
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

◆ dIntegrate_product_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianIn_t , class JacobianOut_t >
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

◆ dIntegrateTransport_dq_impl() [1/2]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianIn_t , class JacobianOut_t >
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

◆ dIntegrateTransport_dq_impl() [2/2]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianOut_t >
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

◆ dIntegrateTransport_dv_impl() [1/2]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianIn_t , class JacobianOut_t >
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

◆ dIntegrateTransport_dv_impl() [2/2]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Tangent_t , class JacobianOut_t >
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

◆ integrate_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class ConfigIn_t , class Velocity_t , class ConfigOut_t >
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

◆ integrateCoeffWiseJacobian_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t , class Jacobian_t >
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::integrateCoeffWiseJacobian_impl ( const Eigen::MatrixBase< Config_t > &  q,
const Eigen::MatrixBase< Jacobian_t > &  J 
) const

◆ isEqual()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<typename LieGroup1 , typename LieGroup2 >
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isEqual ( const CartesianProductOperation< LieGroup1, LieGroup2 > &  other) const

◆ isEqual_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isEqual_impl ( const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > &  other) const

◆ isNormalized_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t >
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isNormalized_impl ( const Eigen::MatrixBase< Config_t > &  qout,
const Scalar prec 
) const

◆ isSameConfiguration_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class ConfigL_t , class ConfigR_t >
bool pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::isSameConfiguration_impl ( const Eigen::MatrixBase< ConfigL_t > &  q0,
const Eigen::MatrixBase< ConfigR_t > &  q1,
const Scalar prec 
) const

◆ name()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
std::string pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::name ( ) const
inline

Definition at line 143 of file cartesian-product-variant.hpp.

◆ neutral()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
ConfigVector_t pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::neutral ( ) const
inline

Definition at line 145 of file cartesian-product-variant.hpp.

◆ normalize_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t >
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::normalize_impl ( const Eigen::MatrixBase< Config_t > &  qout) const

◆ nq()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
int pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::nq ( ) const
inline

Definition at line 140 of file cartesian-product-variant.hpp.

◆ nv()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
int pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::nv ( ) const
inline

Definition at line 141 of file cartesian-product-variant.hpp.

◆ operator*()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
CartesianProductOperationVariantTpl pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::operator* ( const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > &  other) const

Cartesian product between *this and other.

Parameters
[in]otherCartesianProductOperation to compose with this
Returns
A new Cartesian product betwenn *this and other.

◆ operator*=() [1/3]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
CartesianProductOperationVariantTpl& pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::operator*= ( const CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl > &  other)

Append other to *this.

Parameters
[in]otherCartesianProductOperation to append to *this.

◆ operator*=() [2/3]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
CartesianProductOperationVariantTpl& pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::operator*= ( const LieGroupGeneric lg)
inline

Append a Lie group to *this.

Parameters
[in]lgLieGroupGeneric to append to *this.

Definition at line 122 of file cartesian-product-variant.hpp.

◆ operator*=() [3/3]

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<typename LieGroupDerived >
CartesianProductOperationVariantTpl& pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::operator*= ( const LieGroupBase< LieGroupDerived > &  lg)
inline

Append a Lie group to *this.

Parameters
[in]lgLieGroupGeneric to append to *this.

Definition at line 134 of file cartesian-product-variant.hpp.

◆ PINOCCHIO_ALIGNED_STD_VECTOR()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::PINOCCHIO_ALIGNED_STD_VECTOR ( LieGroupGeneric  )
protected

◆ PINOCCHIO_LIE_GROUP_TPL_PUBLIC_INTERFACE()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::PINOCCHIO_LIE_GROUP_TPL_PUBLIC_INTERFACE ( CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >  )

◆ random_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class Config_t >
void pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::random_impl ( const Eigen::MatrixBase< Config_t > &  qout) const

◆ randomConfiguration_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class ConfigL_t , class ConfigR_t , class ConfigOut_t >
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

◆ squaredDistance_impl()

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
template<class ConfigL_t , class ConfigR_t >
Scalar pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::squaredDistance_impl ( const Eigen::MatrixBase< ConfigL_t > &  q0,
const Eigen::MatrixBase< ConfigR_t > &  q1 
) const

Member Data Documentation

◆ lg_nqs

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
std::vector<Index> pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::lg_nqs
protected

Definition at line 250 of file cartesian-product-variant.hpp.

◆ lg_nvs

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
std::vector<Index> pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::lg_nvs
protected

Definition at line 250 of file cartesian-product-variant.hpp.

◆ m_name

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
std::string pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::m_name
protected

Definition at line 251 of file cartesian-product-variant.hpp.

◆ m_neutral

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
ConfigVector_t pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::m_neutral
protected

Definition at line 253 of file cartesian-product-variant.hpp.

◆ m_nq

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
Index pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::m_nq
protected

Definition at line 249 of file cartesian-product-variant.hpp.

◆ m_nv

template<typename _Scalar , int _Options, template< typename, int > class LieGroupCollectionTpl>
Index pinocchio::CartesianProductOperationVariantTpl< _Scalar, _Options, LieGroupCollectionTpl >::m_nv
protected

Definition at line 249 of file cartesian-product-variant.hpp.


The documentation for this struct was generated from the following file:


pinocchio
Author(s):
autogenerated on Fri Jun 23 2023 02:38:34