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 
21 
22 #ifdef TSID_QPMAD_FOUND
24 #endif
25 
26 #ifdef TSID_WITH_PROXSUITE
28 #endif
29 
30 #ifdef TSID_WITH_OSQP
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 
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
Definition: solvers/fwd.hpp:37
Abstract interface for a Quadratic Program (HQP) solver.
SOLVER_HQP_EIQUADPROG_FAST
Definition: solvers/fwd.hpp:38
Implementation of Quadratic Program (HQP) solver using qpmad.
static SolverHQPBase * createNewSolver(const SolverHQP solverType, const std::string &name)
Create a new HQP solver of the specified type.
#define PINOCCHIO_CHECK_INPUT_ARGUMENT(...)
Abstract interface for a Quadratic Program (HQP) solver.


tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sun Jul 2 2023 02:21:51