diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2009-09-25 01:22:24 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2009-09-25 01:22:24 +0400 |
commit | 1483fafd1372a3d3e025d08634e798adb7da512f (patch) | |
tree | 9191765749e29866339f4c31d892603f5f8b334d /intern/itasc/Solver.hpp | |
parent | c995c605f640d8d688e6e58e0fe247ca83f91696 (diff) | |
parent | 222fe6b1a5d49f67177cbb762f55a0e482145f5d (diff) |
Merge of itasc branch. Project files, scons and cmake should be working. Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library.
Diffstat (limited to 'intern/itasc/Solver.hpp')
-rw-r--r-- | intern/itasc/Solver.hpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/intern/itasc/Solver.hpp b/intern/itasc/Solver.hpp new file mode 100644 index 00000000000..e3aa1e1abc8 --- /dev/null +++ b/intern/itasc/Solver.hpp @@ -0,0 +1,33 @@ +/* $Id: Solver.hpp 20622 2009-06-04 12:47:59Z ben2610 $ + * Solver.hpp + * + * Created on: Jan 8, 2009 + * Author: rubensmits + */ + +#ifndef SOLVER_HPP_ +#define SOLVER_HPP_ + +#include <vector> +#include "eigen_types.hpp" + +namespace iTaSC{ + +class Solver{ +public: + enum SolverParam { + DLS_QMAX = 0, + DLS_LAMBDA_MAX, + DLS_EPSILON + }; + virtual ~Solver(){}; + + // gc = grouping of constraint output , + // size of vector = nc, alternance of true / false to indicate the grouping of output + virtual bool init(unsigned int nq, unsigned int nc, const std::vector<bool>& gc)=0; + 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; +}; + +} +#endif /* SOLVER_HPP_ */ |