34 template<
typename UpdateT>
42 template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateRobot>::value>::type>
47 template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateLambda>::value>::type>
52 template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateForce>::value>::type>
57 const Eigen::MatrixXd &
AInEq()
const override {
return this->AFull_; }
59 std::string
descInEq(
const std::vector<rbd::MultiBody> &,
int i)
override
62 ss <<
"Failure at line " << i <<
" for inequality " << this->nameInEq();
Update< UpdateNrVarsRobot > UpdateRobot
Definition: Update.h:71
Update< UpdateNrVarsLambda > UpdateLambda
Definition: Update.h:72
Definition: InequalityConstraint.h:144
InequalityConstraintForce(const mc_solver::QPSolver &solver, const tasks::qp::ContactId &cid)
Definition: InequalityConstraint.h:145
Definition: InequalityConstraint.h:116
InequalityConstraintLambda(const tasks::qp::ContactId &cid)
Definition: InequalityConstraint.h:117
Definition: InequalityConstraint.h:87
InequalityConstraintRobot(unsigned int rIndex)
Definition: InequalityConstraint.h:88
Definition: QPSolver.h:86
Definition: Constraint.h:29
Definition: InequalityConstraint.h:36
InequalityConstraint(unsigned int rIndex)
Definition: InequalityConstraint.h:43
const Eigen::MatrixXd & AInEq() const override
Definition: InequalityConstraint.h:57
InequalityConstraint(const tasks::qp::ContactId &cid)
Definition: InequalityConstraint.h:48
InequalityConstraint(const mc_solver::QPSolver &solver, const tasks::qp::ContactId &cid)
Definition: InequalityConstraint.h:53
std::string descInEq(const std::vector< rbd::MultiBody > &, int i) override
Definition: InequalityConstraint.h:59