integrates an ODE using a naive Euler integration. TODO: change the integration method. For the moment, the highest derivative of the output signal is computed using the previous values of the other derivatives and the input signal, then integrated n times, which will most certainly induce a huge drift for ODEs with a high order at the denominator. More...
#include <integrator-euler.hh>

| Public Member Functions | |
| sigT & | derivative (sigT &res, int time) | 
| virtual const std::string & | getClassName (void) const | 
| double | getSamplingPeriod () const | 
| void | initialize () | 
| sigT & | integrate (sigT &res, int time) | 
| IntegratorEuler (const std::string &name) | |
| void | setSamplingPeriod (const double &period) | 
| virtual | ~IntegratorEuler (void) | 
|  Public Member Functions inherited from dynamicgraph::sot::IntegratorAbstract< sigT, coefT > | |
| const std::vector< coefT > & | denomCoeffs () const | 
| void | denomCoeffs (const std::vector< coefT > &coeffs) | 
| virtual void | display (std::ostream &os) const | 
| IntegratorAbstract (const std::string &name) | |
| const std::vector< coefT > & | numCoeffs () const | 
| void | numCoeffs (const std::vector< coefT > &coeffs) | 
| void | popDenomCoef () | 
| void | popNumCoef () | 
| void | pushDenomCoef (const coefT &denomCoef) | 
| void | pushNumCoef (const coefT &numCoef) | 
| virtual | ~IntegratorAbstract () | 
|  Public Member Functions inherited from dynamicgraph::Entity | |
| std::ostream & | displaySignalList (std::ostream &os) const | 
| Entity (const std::string &name) | |
| const std::string & | getCommandList () const | 
| virtual std::string | getDocString () const | 
| LoggerVerbosity | getLoggerVerbosityLevel () | 
| LoggerVerbosity | getLoggerVerbosityLevel () | 
| const std::string & | getName () const | 
| command::Command * | getNewStyleCommand (const std::string &cmdName) | 
| CommandMap_t | getNewStyleCommandMap () | 
| SignalBase< int > & | getSignal (const std::string &signalName) | 
| const SignalBase< int > & | getSignal (const std::string &signalName) const | 
| SignalMap | getSignalMap () const | 
| double | getStreamPrintPeriod () | 
| double | getStreamPrintPeriod () | 
| double | getTimeSample () | 
| double | getTimeSample () | 
| bool | hasSignal (const std::string &signame) const | 
| Logger & | logger () | 
| Logger const & | logger () const | 
| Logger & | logger () | 
| Logger const & | logger () const | 
| void | sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const std::string &lineId="") | 
| void | sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const std::string &lineId="") | 
| void | setLoggerVerbosityLevel (LoggerVerbosity lv) | 
| void | setLoggerVerbosityLevel (LoggerVerbosity lv) | 
| bool | setStreamPrintPeriod (double t) | 
| bool | setStreamPrintPeriod (double t) | 
| bool | setTimeSample (double t) | 
| bool | setTimeSample (double t) | 
| virtual SignalBase< int > * | test () | 
| virtual void | test2 (SignalBase< int > *) | 
| virtual std::ostream & | writeCompletionList (std::ostream &os) const | 
| virtual std::ostream & | writeGraph (std::ostream &os) const | 
| virtual | ~Entity () | 
| Static Public Member Functions | |
| static std::string | getTypeName (void) | 
| Static Public Attributes | |
| static const std::string | CLASS_NAME | 
| Protected Attributes | |
| dynamicgraph::SignalTimeDependent< sigT, int > | derivativeSOUT | 
| double | dt | 
| std::vector< sigT > | inputMemory | 
| double | invdt | 
| std::vector< sigT > | outputMemory | 
|  Protected Attributes inherited from dynamicgraph::sot::IntegratorAbstract< sigT, coefT > | |
| std::vector< coefT > | denominator | 
| std::vector< coefT > | numerator | 
|  Protected Attributes inherited from dynamicgraph::Entity | |
| CommandMap_t | commandMap | 
| Logger | logger_ | 
| std::string | name | 
| SignalMap | signalMap | 
| Additional Inherited Members | |
|  Public Types inherited from dynamicgraph::Entity | |
| typedef std::map< const std::string, command::Command *> | CommandMap_t | 
| typedef std::map< std::string, SignalBase< int > *> | SignalMap | 
|  Public Attributes inherited from dynamicgraph::sot::IntegratorAbstract< sigT, coefT > | |
| dynamicgraph::SignalPtr< sigT, int > | SIN | 
| dynamicgraph::SignalTimeDependent< sigT, int > | SOUT | 
|  Protected Member Functions inherited from dynamicgraph::Entity | |
| void | addCommand (const std::string &name, command::Command *command) | 
| void | entityDeregistration () | 
| void | entityRegistration () | 
| void | signalDeregistration (const std::string &name) | 
| void | signalRegistration (const SignalArray< int > &signals) | 
integrates an ODE using a naive Euler integration. TODO: change the integration method. For the moment, the highest derivative of the output signal is computed using the previous values of the other derivatives and the input signal, then integrated n times, which will most certainly induce a huge drift for ODEs with a high order at the denominator.
Definition at line 51 of file integrator-euler.hh.
| 
 | inline | 
Definition at line 64 of file integrator-euler.hh.
| 
 | inlinevirtual | 
Definition at line 94 of file integrator-euler.hh.
| 
 | inline | 
Definition at line 153 of file integrator-euler.hh.
| 
 | virtual | 
Reimplemented from dynamicgraph::Entity.
| 
 | inline | 
Definition at line 169 of file integrator-euler.hh.
| 
 | inlinestatic | 
Definition at line 54 of file integrator-euler.hh.
| 
 | inline | 
Definition at line 171 of file integrator-euler.hh.
| 
 | inlinevirtual | 
Implements dynamicgraph::sot::IntegratorAbstract< sigT, coefT >.
Definition at line 106 of file integrator-euler.hh.
| 
 | inline | 
Definition at line 164 of file integrator-euler.hh.
| 
 | static | 
Definition at line 55 of file integrator-euler.hh.
| 
 | protected | 
Definition at line 100 of file integrator-euler.hh.
| 
 | protected | 
Definition at line 102 of file integrator-euler.hh.
| 
 | protected | 
Definition at line 97 of file integrator-euler.hh.
| 
 | protected | 
Definition at line 103 of file integrator-euler.hh.
| 
 | protected | 
Definition at line 98 of file integrator-euler.hh.