src
solvers
solver-HQP-factory.cpp
Go to the documentation of this file.
1
//
2
// Copyright (c) 2017 CNRS
3
//
4
// This file is part of tsid
5
// tsid is free software: you can redistribute it
6
// and/or modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation, either version
8
// 3 of the License, or (at your option) any later version.
9
// tsid is distributed in the hope that it will be
10
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// General Lesser Public License for more details. You should have
13
// received a copy of the GNU Lesser General Public License along with
14
// tsid If not, see
15
// <http://www.gnu.org/licenses/>.
16
//
17
18
#include <
tsid/solvers/solver-HQP-factory.hpp
>
19
#include <
tsid/solvers/solver-HQP-eiquadprog.hpp
>
20
#include <
tsid/solvers/solver-HQP-eiquadprog-fast.hpp
>
21
22
#ifdef TSID_QPMAD_FOUND
23
#include <
tsid/solvers/solver-HQP-qpmad.hpp
>
24
#endif
25
26
#ifdef TSID_WITH_PROXSUITE
27
#include <
tsid/solvers/solver-proxqp.hpp
>
28
#endif
29
30
#ifdef TSID_WITH_OSQP
31
#include <
tsid/solvers/solver-osqp.hpp
>
32
#endif
33
34
#ifdef QPOASES_FOUND
35
#include <tsid/solvers/solver-HQP-qpoases.hh>
36
#endif
37
38
namespace
tsid
{
39
namespace
solvers {
40
41
SolverHQPBase
*
SolverHQPFactory::createNewSolver
(
const
SolverHQP solverType,
42
const
std::string&
name
) {
43
if
(solverType ==
SOLVER_HQP_EIQUADPROG
)
return
new
SolverHQuadProg
(
name
);
44
45
if
(solverType ==
SOLVER_HQP_EIQUADPROG_FAST
)
46
return
new
SolverHQuadProgFast
(
name
);
47
48
#ifdef TSID_QPMAD_FOUND
49
if
(solverType == SOLVER_HQP_QPMAD)
return
new
SolverHQpmad
(
name
);
50
#endif
51
52
#ifdef TSID_WITH_PROXSUITE
53
if
(solverType == SOLVER_HQP_PROXQP)
return
new
SolverProxQP
(
name
);
54
#endif
55
56
#ifdef TSID_WITH_OSQP
57
if
(solverType == SOLVER_HQP_OSQP)
return
new
SolverOSQP
(
name
);
58
#endif
59
60
#ifdef QPOASES_FOUND
61
if
(solverType == SOLVER_HQP_QPOASES)
return
new
Solver_HQP_qpoases(
name
);
62
#endif
63
64
PINOCCHIO_CHECK_INPUT_ARGUMENT
(
false
,
"Specified solver type not recognized"
);
65
return
NULL;
66
}
67
68
}
// namespace solvers
69
}
// namespace tsid
solver-HQP-eiquadprog-fast.hpp
tsid::solvers::SolverOSQP
Definition:
solvers/solver-osqp.hpp:38
PINOCCHIO_CHECK_INPUT_ARGUMENT
#define PINOCCHIO_CHECK_INPUT_ARGUMENT(...)
tsid::solvers::SolverHQuadProgFast
Definition:
solver-HQP-eiquadprog-fast.hpp:30
solver-HQP-eiquadprog.hpp
solver-osqp.hpp
tsid::solvers::SolverHQPBase
Abstract interface for a Quadratic Program (HQP) solver.
Definition:
solver-HQP-base.hpp:34
SOLVER_HQP_EIQUADPROG
SOLVER_HQP_EIQUADPROG
Definition:
solvers/fwd.hpp:37
setup.name
name
Definition:
setup.in.py:179
tsid::solvers::SolverHQpmad
Implementation of Quadratic Program (HQP) solver using qpmad.
Definition:
solver-HQP-qpmad.hpp:30
tsid::solvers::SolverProxQP
Definition:
solvers/solver-proxqp.hpp:42
tsid
Definition:
bindings/python/constraint/constraint-bound.cpp:21
solver-HQP-qpmad.hpp
tsid::solvers::SolverHQuadProg
Abstract interface for a Quadratic Program (HQP) solver.
Definition:
solvers/solver-HQP-eiquadprog.hpp:29
SOLVER_HQP_EIQUADPROG_FAST
SOLVER_HQP_EIQUADPROG_FAST
Definition:
solvers/fwd.hpp:38
solver-HQP-factory.hpp
solver-proxqp.hpp
tsid::solvers::SolverHQPFactory::createNewSolver
static SolverHQPBase * createNewSolver(const SolverHQP solverType, const std::string &name)
Create a new HQP solver of the specified type.
Definition:
solver-HQP-factory.cpp:41
tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sat May 3 2025 02:48:17