Go to the documentation of this file.
10 #ifndef __SOT_INTEGRATOR_ABSTRACT_H__
11 #define __SOT_INTEGRATOR_ABSTRACT_H__
18 #include <dynamic-graph/linear-algebra.h>
21 #include <dynamic-graph/all-signals.h>
22 #include <dynamic-graph/command-bind.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") {
54 signalRegistration(
SIN <<
SOUT);
56 using namespace dg::command;
58 const std::string typeName =
59 Value::typeName(dg::command::ValueHelper<coefT>::TypeID);
65 docCommandVoid1(
"Push a new numerator coefficient", typeName)));
70 docCommandVoid1(
"Push a new denomicator coefficient", typeName)));
75 docCommandVoid0(
"Pop a new numerator coefficient")));
79 docCommandVoid0(
"Pop a new denomicator coefficient")));
84 virtual sigT &
integrate(sigT &res,
int time) = 0;
95 dg::SignalPtr<sigT, int>
SIN;
97 dg::SignalTimeDependent<sigT, int>
SOUT;
void popDenomCoef()
Definition: integrator-abstract.hh:92
std::vector< coefT > denominator
Definition: integrator-abstract.hh:101
Definition: abstract-sot-external-interface.hh:17
void pushNumCoef(const coefT &numCoef)
Definition: integrator-abstract.hh:87
virtual sigT & integrate(sigT &res, int time)=0
std::vector< coefT > numerator
Definition: integrator-abstract.hh:100
integrates an ODE. If Y is the output and X the input, the following equation is integrated: a_p * d(...
Definition: integrator-abstract.hh:46
void pushDenomCoef(const coefT &denomCoef)
Definition: integrator-abstract.hh:88
virtual ~IntegratorAbstract()
Definition: integrator-abstract.hh:82
dg::SignalTimeDependent< sigT, int > SOUT
Definition: integrator-abstract.hh:97
dg::SignalPtr< sigT, int > SIN
Definition: integrator-abstract.hh:95
void popNumCoef()
Definition: integrator-abstract.hh:91
IntegratorAbstract(const std::string &name)
Definition: integrator-abstract.hh:48