10 #ifndef __SOT_INTEGRATOR_ABSTRACT_H__ 11 #define __SOT_INTEGRATOR_ABSTRACT_H__ 23 #include <dynamic-graph/entity.h> 24 #include <dynamic-graph/pool.h> 45 template <
class sigT,
class coefT>
50 SIN(NULL,
"sotIntegratorAbstract(" + name +
")::input(vector)::sin"),
53 SIN,
"sotIntegratorAbstract(" + name +
")::output(vector)::sout") {
58 const std::string typeName =
105 virtual void display(std::ostream &os)
const {
112 for (std::size_t
i = 1;
i < numerator.size(); ++
i)
113 os <<
" + " << numerator[
i] <<
" s^" <<
i;
115 for (std::size_t
i = 1;
i < denominator.size(); ++
i)
116 os <<
" + " << denominator[
i] <<
" s^" <<
i;
CommandVoid0< E > * makeCommandVoid0(E &entity, boost::function< void(void)> function, const std::string &docString)
const std::vector< coefT > & denomCoeffs() const
void signalRegistration(const SignalArray< int > &signals)
const std::vector< coefT > & numCoeffs() const
dynamicgraph::SignalPtr< sigT, int > SIN
CommandVoid1< E, T > * makeCommandVoid1(E &entity, boost::function< void(const T &)> function, const std::string &docString)
std::vector< coefT > numerator
void pushDenomCoef(const coefT &denomCoef)
std::string docCommandVoid1(const std::string &doc, const std::string &type)
std::string docCommandVoid0(const std::string &doc)
void denomCoeffs(const std::vector< coefT > &coeffs)
std::vector< coefT > denominator
virtual const std::string & getClassName() const
integrates an ODE. If Y is the output and X the input, the following equation is integrated: a_p * d(...
virtual sigT & integrate(sigT &res, int time)=0
virtual ~IntegratorAbstract()
void numCoeffs(const std::vector< coefT > &coeffs)
const std::string & getName() const
dynamicgraph::SignalTimeDependent< sigT, int > SOUT
void addCommand(const std::string &name, command::Command *command)
IntegratorAbstract(const std::string &name)
virtual void display(std::ostream &os) const
void pushNumCoef(const coefT &numCoef)
static std::string typeName(Type type)