oscillator.hh
Go to the documentation of this file.
1 //
2 // Copyright (C) 2012 LAAS-CNRS
3 //
4 // Author: Florent Lamiraux,
5 // Mehdi Benallegue <mehdi@benallegue.com>
6 //
7 
8 #ifndef SOT_TOOLS_OSCILLATOR_HH
9 #define SOT_TOOLS_OSCILLATOR_HH
10 
11 #include <dynamic-graph/command.h>
12 #include <dynamic-graph/command-bind.h>
13 #include <dynamic-graph/command-setter.h>
14 #include <dynamic-graph/command-direct-setter.h>
15 #include <dynamic-graph/command-direct-getter.h>
16 
17 #include <dynamic-graph/signal-time-dependent.h>
18 #include <dynamic-graph/signal-ptr.h>
19 #include <dynamic-graph/factory.h>
20 #include <dynamic-graph/entity.h>
21 
22 namespace dynamicgraph {
23 namespace sot {
24 namespace tools {
25 
26 class Oscillator : public Entity {
27  DYNAMIC_GRAPH_ENTITY_DECL();
28 
29  public:
30  Oscillator(const std::string name);
31 
32  protected:
33  double& computeSignal(double& sout, const int& t);
34  dynamicgraph::Vector& computeVectorSignal(dynamicgraph::Vector& vsout, const int& t);
35  double value(double dt, double time, double omega, double phase, double amplitude, double bias);
36 
37  SignalPtr<double, int> angularFrequencySIN_;
38  SignalPtr<double, int> magnitudeSIN_;
39  SignalPtr<double, int> phaseSIN_;
40  SignalPtr<double, int> biasSIN_;
41  SignalTimeDependent<double, int> soutSOUT_;
42  SignalTimeDependent<dynamicgraph::Vector, int> vectorSoutSOUT_;
43 
44  double epsilon_;
45  bool started_;
47  double dt_;
48  double lastValue_;
49 }; // class Oscillator
50 
51 } // namespace tools
52 } // namespace sot
53 } // namespace dynamicgraph
54 
55 #endif // SOT_TOOLS_OSCILLATOR_HH
dynamicgraph::sot::tools::Oscillator::continuous_
bool continuous_
Definition: oscillator.hh:46
dynamicgraph::sot::tools::Oscillator::dt_
double dt_
Definition: oscillator.hh:47
dynamicgraph::sot::tools::Oscillator::computeVectorSignal
dynamicgraph::Vector & computeVectorSignal(dynamicgraph::Vector &vsout, const int &t)
Definition: oscillator.cc:81
dynamicgraph
Definition: cubic-interpolation-se3.hh:15
dynamicgraph::sot::tools::Oscillator::Oscillator
Oscillator(const std::string name)
Definition: oscillator.cc:21
dynamicgraph::sot::tools::Oscillator::magnitudeSIN_
SignalPtr< double, int > magnitudeSIN_
Definition: oscillator.hh:38
dynamicgraph::sot::tools::Oscillator::started_
bool started_
Definition: oscillator.hh:45
dynamicgraph::sot::tools::Oscillator::value
double value(double dt, double time, double omega, double phase, double amplitude, double bias)
Definition: oscillator.cc:76
dynamicgraph::sot::tools::Oscillator::computeSignal
double & computeSignal(double &sout, const int &t)
Definition: oscillator.cc:87
dynamicgraph::sot::tools::Oscillator
Definition: oscillator.hh:26
dynamicgraph::sot::tools::Oscillator::lastValue_
double lastValue_
Definition: oscillator.hh:48
dynamicgraph::sot::tools::Oscillator::epsilon_
double epsilon_
Definition: oscillator.hh:44
dynamicgraph::sot::tools::Oscillator::vectorSoutSOUT_
SignalTimeDependent< dynamicgraph::Vector, int > vectorSoutSOUT_
Definition: oscillator.hh:42
dynamicgraph::sot::tools::Oscillator::soutSOUT_
SignalTimeDependent< double, int > soutSOUT_
Definition: oscillator.hh:41
dynamicgraph::sot::tools::Oscillator::biasSIN_
SignalPtr< double, int > biasSIN_
Definition: oscillator.hh:40
dynamicgraph::sot::tools::Oscillator::angularFrequencySIN_
SignalPtr< double, int > angularFrequencySIN_
Definition: oscillator.hh:37
dynamicgraph::sot::tools::Oscillator::phaseSIN_
SignalPtr< double, int > phaseSIN_
Definition: oscillator.hh:39