Unverified Commit bf35165a authored by Justin Carpentier's avatar Justin Carpentier Committed by GitHub
Browse files

Merge pull request #1438 from jmirabel/devel

[Minor] Bugfix + API improvement in lie group.
parents 5abf0550 670685ae
Pipeline #14123 passed with stage
in 151 minutes and 36 seconds
......@@ -86,6 +86,18 @@ namespace pinocchio
///
void append(const LieGroupGeneric & lg);
///
/// \brief Append a Lie group to the Cartesian product
///
/// \param[in] lg Lie group to insert inside the Cartesian product
///
template<typename LieGroupDerived>
void append (const LieGroupBase<LieGroupDerived>& lg)
{
LieGroupGeneric lgGeneric (lg);
append(lgGeneric);
}
///
/// \brief Cartesian product between *this and other.
///
......@@ -112,6 +124,18 @@ namespace pinocchio
append(lg);
return *this;
}
///
/// \brief Append a Lie group to *this.
///
/// \param[in] lg LieGroupGeneric to append to *this.
///
template<typename LieGroupDerived>
inline CartesianProductOperationVariantTpl& operator*= (const LieGroupBase<LieGroupDerived>& lg)
{
append<LieGroupDerived>(lg);
return *this;
}
int nq() const { return m_nq; }
int nv() const { return m_nv; }
......
......@@ -155,23 +155,21 @@ namespace pinocchio
const Eigen::MatrixBase<JacobianOut_t> & J,
const ArgumentPosition arg);
template<typename LieGroupCollection, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
template<ArgumentPosition arg, typename LieGroupCollection, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
void dDifference(const LieGroupGenericTpl<LieGroupCollection> & lg,
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 ArgumentPosition arg);
const Eigen::MatrixBase<JacobianOut_t> & Jout);
template<typename LieGroupCollection, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
template<ArgumentPosition arg, typename LieGroupCollection, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
void dDifference(const LieGroupGenericTpl<LieGroupCollection> & lg,
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 ArgumentPosition arg);
const Eigen::MatrixBase<JacobianOut_t> & Jout);
template<typename LieGroupCollection, class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrateTransport(const LieGroupGenericTpl<LieGroupCollection> & lg,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment