Blender  V3.3
Solver.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-2.1-or-later
2  * Copyright 2009 Ruben Smits. */
3 
8 #ifndef SOLVER_HPP_
9 #define SOLVER_HPP_
10 
11 #include <vector>
12 #include "eigen_types.hpp"
13 
14 namespace iTaSC{
15 
16 class Solver{
17 public:
18  enum SolverParam {
19  DLS_QMAX = 0,
22  };
23  virtual ~Solver(){};
24 
25  // gc = grouping of constraint output ,
26  // size of vector = nc, alternance of true / false to indicate the grouping of output
27  virtual bool init(unsigned int nq, unsigned int nc, const std::vector<bool>& gc)=0;
28  virtual bool solve(const e_matrix& A, const e_vector& Wy, const e_vector& ydot, const e_matrix& Wq, e_vector& qdot, e_scalar& nlcoef)=0;
29  virtual void setParam(SolverParam param, double value)=0;
30 };
31 
32 }
33 #endif /* SOLVER_HPP_ */
virtual ~Solver()
Definition: Solver.hpp:23
virtual bool init(unsigned int nq, unsigned int nc, const std::vector< bool > &gc)=0
@ DLS_LAMBDA_MAX
Definition: Solver.hpp:20
virtual bool solve(const e_matrix &A, const e_vector &Wy, const e_vector &ydot, const e_matrix &Wq, e_vector &qdot, e_scalar &nlcoef)=0
virtual void setParam(SolverParam param, double value)=0
#define e_vector
Definition: eigen_types.hpp:38
#define e_scalar
Definition: eigen_types.hpp:37
#define e_matrix
Definition: eigen_types.hpp:40