mc_solver::utils::Constraint< ConstraintT, UpdateT > Class Template Reference

#include <mc_solver/utils/Constraint.h>

Inheritance diagram for mc_solver::utils::Constraint< ConstraintT, UpdateT >:
Collaboration diagram for mc_solver::utils::Constraint< ConstraintT, UpdateT >:

Protected Member Functions

template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateRobot>::value>::type>
 Constraint (unsigned int rIndex)
 
template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateLambda>::value>::type>
 Constraint (const tasks::qp::ContactId &cid)
 
template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateForce>::value>::type>
 Constraint (const mc_solver::QPSolver &solver, const tasks::qp::ContactId &cid)
 
virtual ~Constraint ()
 
void updateNrVars (const std::vector< rbd::MultiBody > &mbs, const tasks::qp::SolverData &data) override
 
void update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const tasks::qp::SolverData &data) override
 

Detailed Description

template<typename ConstraintT, typename UpdateT>
class mc_solver::utils::Constraint< ConstraintT, UpdateT >

Generic helper class to write a new constraint for Tasks.

See also
EqualityConstraint,
InequalityConstraint and
GenInequalityConstraint for details on specific constraints you can implement based on this helper
Template Parameters
ConstraintTType of tasks::qp constraint
UpdateTType of utils::Update we will use

Constructor & Destructor Documentation

◆ Constraint() [1/3]

template<typename ConstraintT , typename UpdateT >
template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateRobot>::value>::type>
mc_solver::utils::Constraint< ConstraintT, UpdateT >::Constraint ( unsigned int  rIndex)
inlineexplicitprotected

◆ Constraint() [2/3]

template<typename ConstraintT , typename UpdateT >
template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateLambda>::value>::type>
mc_solver::utils::Constraint< ConstraintT, UpdateT >::Constraint ( const tasks::qp::ContactId &  cid)
inlineexplicitprotected

◆ Constraint() [3/3]

template<typename ConstraintT , typename UpdateT >
template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateForce>::value>::type>
mc_solver::utils::Constraint< ConstraintT, UpdateT >::Constraint ( const mc_solver::QPSolver solver,
const tasks::qp::ContactId &  cid 
)
inlineprotected

◆ ~Constraint()

template<typename ConstraintT , typename UpdateT >
virtual mc_solver::utils::Constraint< ConstraintT, UpdateT >::~Constraint ( )
inlineprotectedvirtual

Virtual destructor

Member Function Documentation

◆ update()

template<typename ConstraintT , typename UpdateT >
void mc_solver::utils::Constraint< ConstraintT, UpdateT >::update ( const std::vector< rbd::MultiBody > &  mbs,
const std::vector< rbd::MultiBodyConfig > &  mbcs,
const tasks::qp::SolverData &  data 
)
inlineoverrideprotected

◆ updateNrVars()

template<typename ConstraintT , typename UpdateT >
void mc_solver::utils::Constraint< ConstraintT, UpdateT >::updateNrVars ( const std::vector< rbd::MultiBody > &  mbs,
const tasks::qp::SolverData &  data 
)
inlineoverrideprotected

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