diff options
author | Lukas Steiblys <imbusy@imbusy.org> | 2009-10-02 02:29:15 +0400 |
---|---|---|
committer | Lukas Steiblys <imbusy@imbusy.org> | 2009-10-02 02:29:15 +0400 |
commit | 0677398a649b6b8c293df3ce3c6668f0a3be3bc8 (patch) | |
tree | 9d510a5bd23559bf4fae670ed04d7e5d6c12578c /intern/itasc/WSDLSSolver.hpp | |
parent | 59248e9f62006ba05e3098e4d213f3dcb23fe711 (diff) | |
parent | bc942eceacb638735dc4f4f68252c4c207147a70 (diff) |
merge from 23153 to 23595soc-2009-imbusy
Diffstat (limited to 'intern/itasc/WSDLSSolver.hpp')
-rw-r--r-- | intern/itasc/WSDLSSolver.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/intern/itasc/WSDLSSolver.hpp b/intern/itasc/WSDLSSolver.hpp new file mode 100644 index 00000000000..0b17f26ef47 --- /dev/null +++ b/intern/itasc/WSDLSSolver.hpp @@ -0,0 +1,43 @@ +/* $Id: WSDLSSolver.hpp 20622 2009-06-04 12:47:59Z ben2610 $ + * WSDLSSolver.hpp + * + * Created on: Mar 26, 2009 + * Author: benoit bolsee + */ + +#ifndef WSDLSSOLVER_HPP_ +#define WSDLSSOLVER_HPP_ + +#include "Solver.hpp" + +namespace iTaSC { + +class WSDLSSolver: public iTaSC::Solver { +private: + e_matrix m_AWq,m_WyAWq,m_WyAWqt,m_U,m_V,m_WqV; + e_vector m_S,m_temp,m_Wy_ydot; + std::vector<bool> m_ytask; + e_scalar m_qmax; + unsigned int m_ns, m_nc, m_nq; + bool m_transpose; +public: + WSDLSSolver(); + virtual ~WSDLSSolver(); + + virtual bool init(unsigned int _nq, unsigned int _nc, const std::vector<bool>& gc); + 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); + virtual void setParam(SolverParam param, double value) + { + switch (param) { + case DLS_QMAX: + m_qmax = value; + break; + default: + break; + } + } +}; + +} + +#endif /* WSDLSSOLVER_HPP_ */ |