This class is a basis to wrap Constraint functions from Tasks. The aim of such wrappers should be two-folds: More...
#include <mc_solver/ConstraintSet.h>
Public Member Functions | |
ConstraintSet () | |
void | addToSolver (mc_solver::QPSolver &solver) |
virtual void | update (QPSolver &) |
Update the constraint. More... | |
void | removeFromSolver (mc_solver::QPSolver &solver) |
virtual | ~ConstraintSet () |
bool | inSolver () const noexcept |
QPSolver::Backend | backend () const noexcept |
Protected Member Functions | |
virtual void | addToSolverImpl (mc_solver::QPSolver &solver)=0 |
virtual void | removeFromSolverImpl (mc_solver::QPSolver &solver)=0 |
Protected Attributes | |
QPSolver::Backend | backend_ |
bool | inSolver_ = false |
This class is a basis to wrap Constraint functions from Tasks. The aim of such wrappers should be two-folds:
mc_solver::ConstraintSet::ConstraintSet | ( | ) |
Constructor, register the solver backend at creation time
|
inlinevirtual |
Virtual destructor
void mc_solver::ConstraintSet::addToSolver | ( | mc_solver::QPSolver & | solver | ) |
This is called by mc_solver::QPSolver when the constraint is added to the problem
|
protectedpure virtual |
Should take care of the actual insertion into a concrete solver
Implemented in mc_solver::CompoundJointConstraint, mc_solver::CollisionsConstraint, mc_solver::DynamicsConstraint, mc_solver::ContactConstraint, mc_solver::CoMIncPlaneConstr, mc_solver::BoundedSpeedConstr, and mc_solver::KinematicsConstraint.
|
inlinenoexcept |
|
inlinenoexcept |
void mc_solver::ConstraintSet::removeFromSolver | ( | mc_solver::QPSolver & | solver | ) |
This is called by mc_solver::QPSolver when the constraint is removed from the problem
|
protectedpure virtual |
Should take care of the actual removal from a concrete solver
Implemented in mc_solver::CompoundJointConstraint, mc_solver::CollisionsConstraint, mc_solver::DynamicsConstraint, mc_solver::ContactConstraint, mc_solver::CoMIncPlaneConstr, mc_solver::BoundedSpeedConstr, and mc_solver::KinematicsConstraint.
|
inlinevirtual |
Update the constraint.
This is called at every iteration of the controller once the constraint has been added to a solver
solver | Solver in which the constraint has been inserted |
Reimplemented in mc_solver::CollisionsConstraint.
|
protected |
QPSolver backend when the constraint is created
|
protected |
True if the constraint is in a solver already