Blender
V3.3
intern
itasc
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,
20
DLS_LAMBDA_MAX
,
21
DLS_EPSILON
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_ */
iTaSC::Solver
Definition:
Solver.hpp:16
iTaSC::Solver::~Solver
virtual ~Solver()
Definition:
Solver.hpp:23
iTaSC::Solver::init
virtual bool init(unsigned int nq, unsigned int nc, const std::vector< bool > &gc)=0
iTaSC::Solver::SolverParam
SolverParam
Definition:
Solver.hpp:18
iTaSC::Solver::DLS_EPSILON
@ DLS_EPSILON
Definition:
Solver.hpp:21
iTaSC::Solver::DLS_QMAX
@ DLS_QMAX
Definition:
Solver.hpp:19
iTaSC::Solver::DLS_LAMBDA_MAX
@ DLS_LAMBDA_MAX
Definition:
Solver.hpp:20
iTaSC::Solver::solve
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
iTaSC::Solver::setParam
virtual void setParam(SolverParam param, double value)=0
eigen_types.hpp
e_vector
#define e_vector
Definition:
eigen_types.hpp:38
e_scalar
#define e_scalar
Definition:
eigen_types.hpp:37
e_matrix
#define e_matrix
Definition:
eigen_types.hpp:40
iTaSC
Definition:
Armature.cpp:13
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1