A type of signal that enforces a time dependency between other signals, making sure its inputs are up to date on access, using a incrementing time tick as reference. It works this way: for a given SignalTimeDependent S, the user manually adds dependent signals through the use of the addDependency function. On access (calling the signal S operator () or access(Time) function), if the dependent signals are not up-to-date, i.e. if their [last update] time is less than the current time, their value will be access ()'ed to bring them up-to-date. Thus, the value of dependent signals can be accessed quickly and repeatedly through the accessCopy () function. More...
#include <dynamic-graph/signal-time-dependent.h>
Public Member Functions | |
SignalTimeDependent (std::string name="") | |
SignalTimeDependent (const SignalArray_const< Time > &arr, std::string name="") | |
SignalTimeDependent (boost::function2< T &, T &, Time > t, const SignalArray_const< Time > &sig, std::string name="") | |
virtual | ~SignalTimeDependent () |
const T & | operator() (const Time &t1) |
const T & | access (const Time &t1) |
virtual void | addDependency (const SignalBase< Time > &signal) |
virtual void | removeDependency (const SignalBase< Time > &signal) |
virtual void | clearDependencies () |
std::ostream & | writeGraph (std::ostream &os) const |
std::ostream & | displayDependencies (std::ostream &os, const int depth=-1, std::string space="", std::string next1="", std::string next2="") const |
virtual bool | needUpdate (const Time &t) const |
virtual void | setPeriodTime (const Time &p) |
virtual Time | getPeriodTime () const |
A type of signal that enforces a time dependency between other signals, making sure its inputs are up to date on access, using a incrementing time tick as reference. It works this way: for a given SignalTimeDependent S, the user manually adds dependent signals through the use of the addDependency function. On access (calling the signal S operator () or access(Time) function), if the dependent signals are not up-to-date, i.e. if their [last update] time is less than the current time, their value will be access ()'ed to bring them up-to-date. Thus, the value of dependent signals can be accessed quickly and repeatedly through the accessCopy () function.
dynamicgraph::SignalTimeDependent< T, Time >::SignalTimeDependent | ( | std::string | name = "" | ) |
dynamicgraph::SignalTimeDependent< T, Time >::SignalTimeDependent | ( | const SignalArray_const< Time > & | arr, |
std::string | name = "" |
||
) |
dynamicgraph::SignalTimeDependent< T, Time >::SignalTimeDependent | ( | boost::function2< T &, T &, Time > | t, |
const SignalArray_const< Time > & | sig, | ||
std::string | name = "" |
||
) |
References dynamicgraph::Signal< T, Time >::setFunction().
virtual dynamicgraph::SignalTimeDependent< T, Time >::~SignalTimeDependent | ( | ) | [inline, virtual] |
const T & dynamicgraph::SignalTimeDependent< T, Time >::access | ( | const Time & | t1 | ) | [virtual] |
Reimplemented from dynamicgraph::Signal< T, Time >.
References dynamicgraph::Signal< T, Time >::access(), dynamicgraph::Signal< T, Time >::accessCopy(), dynamicgraph::TimeDependency< Time >::needUpdate(), and dynamicgraph::SignalBase< Time >::setReady().
Referenced by dynamicgraph::SignalTimeDependent< int, int >::operator()().
void dynamicgraph::SignalTimeDependent< T, Time >::addDependency | ( | const SignalBase< Time > & | signal | ) | [virtual] |
Reimplemented from dynamicgraph::TimeDependency< Time >.
References dynamicgraph::TimeDependency< Time >::addDependency().
void dynamicgraph::SignalTimeDependent< T, Time >::clearDependencies | ( | ) | [virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
References dynamicgraph::TimeDependency< Time >::clearDependency().
std::ostream& dynamicgraph::SignalTimeDependent< T, Time >::displayDependencies | ( | std::ostream & | os, |
const int | depth = -1 , |
||
std::string | space = "" , |
||
std::string | next1 = "" , |
||
std::string | next2 = "" |
||
) | const [inline] |
Reimplemented from dynamicgraph::TimeDependency< Time >.
Referenced by dynamicgraph::SignalTimeDependent< int, int >::displayDependencies().
Time dynamicgraph::SignalTimeDependent< T, Time >::getPeriodTime | ( | ) | const [virtual] |
Reimplemented from dynamicgraph::TimeDependency< Time >.
References dynamicgraph::TimeDependency< Time >::getPeriodTime().
bool dynamicgraph::SignalTimeDependent< T, Time >::needUpdate | ( | const Time & | t | ) | const [virtual] |
Reimplemented from dynamicgraph::TimeDependency< Time >.
References dynamicgraph::TimeDependency< Time >::needUpdate().
const T& dynamicgraph::SignalTimeDependent< T, Time >::operator() | ( | const Time & | t1 | ) | [inline, virtual] |
Reimplemented from dynamicgraph::Signal< T, Time >.
void dynamicgraph::SignalTimeDependent< T, Time >::removeDependency | ( | const SignalBase< Time > & | signal | ) | [virtual] |
Reimplemented from dynamicgraph::TimeDependency< Time >.
References dynamicgraph::TimeDependency< Time >::removeDependency().
void dynamicgraph::SignalTimeDependent< T, Time >::setPeriodTime | ( | const Time & | p | ) | [virtual] |
Reimplemented from dynamicgraph::TimeDependency< Time >.
References dynamicgraph::TimeDependency< Time >::setPeriodTime().
std::ostream& dynamicgraph::SignalTimeDependent< T, Time >::writeGraph | ( | std::ostream & | os | ) | const [inline, virtual] |
Reimplemented from dynamicgraph::TimeDependency< Time >.