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
7
#include <
mc_solver/ConstraintSet.h
>
8
9
#include <
mc_rtc/void_ptr.h
>
10
11
#include <Tasks/QPContactConstr.h>
12
13
namespace
mc_solver
14
{
15
20
struct
MC_SOLVER_DLLAPI
ContactConstraint
:
public
ConstraintSet
21
{
22
public
:
26
enum
ContactType
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
include
mc_solver
ContactConstraint.h
Generated by
1.8.17