ContactConstraint.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2022 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
8 
9 #include <mc_rtc/void_ptr.h>
10 
11 #include <Tasks/QPContactConstr.h>
12 
13 namespace mc_solver
14 {
15 
21 {
22 public:
27  {
29  Acceleration = 0,
31  Velocity = 1,
33  Position = 2
34  };
35 
36 public:
44  ContactConstraint(double timeStep, ContactType contactType = Velocity);
45 
47  void addToSolverImpl(QPSolver & solver) override;
48 
50  void removeFromSolverImpl(QPSolver & solver) override;
51 
56  tasks::qp::ContactConstr * contactConstr();
57 
58 private:
66  mc_rtc::void_ptr constraint_;
67 };
68 
69 } // namespace mc_solver
void_ptr.h
mc_solver::ContactConstraint
Definition: ContactConstraint.h:20
ConstraintSet.h
mc_solver::QPSolver
Definition: QPSolver.h:85
mc_solver::ContactConstraint::ContactType
ContactType
Definition: ContactConstraint.h:26
mc_solver::ConstraintSet
This class is a basis to wrap Constraint functions from Tasks. The aim of such wrappers should be two...
Definition: ConstraintSet.h:20
mc_rtc::void_ptr
std::unique_ptr< void, void(*)(void *)> void_ptr
Definition: void_ptr.h:14
mc_solver
Definition: Contact.h:17
MC_SOLVER_DLLAPI
#define MC_SOLVER_DLLAPI
Definition: api.h:50