Signals link I/O ports of entities. They can be constant-valued signals, or copy the value of a heap variable, or evaluated as a function. See SignalPtr and SignalTimeDependent for other types of signals, and SignalArray for a way of grouping them. More...
#include <dynamic-graph/signal.h>
Public Types | |
typedef int * | Mutex |
typedef int * | MutexError |
Public Member Functions | |
Signal (std::string name) | |
virtual | ~Signal () |
virtual void | get (std::ostream &value) const |
virtual void | set (std::istringstream &value) |
virtual void | trace (std::ostream &os) const |
virtual void | setConstant (const T &t) |
virtual void | setReference (const T *t, Mutex *mutexref=NULL) |
virtual void | setReferenceNonConstant (T *t, Mutex *mutexref=NULL) |
virtual void | setFunction (boost::function2< T &, T &, Time > t, Mutex *mutexref=NULL) |
bool | getKeepReference () |
void | setKeepReference (const bool &b) |
virtual const T & | access (const Time &t) |
virtual void | recompute (const Time &t) |
virtual const T & | accessCopy () const |
virtual std::ostream & | display (std::ostream &os) const |
virtual const T & | operator() (const Time &t) |
virtual Signal< T, Time > & | operator= (const T &t) |
operator const T & () const | |
virtual void | getClassName (std::string &aClassName) const |
virtual void | checkCompatibility () |
Protected Types | |
enum | SignalType { CONSTANT, REFERENCE, REFERENCE_NON_CONST, FUNCTION } |
Protected Attributes | |
SignalType | signalType |
T | Tcopy1 |
T | Tcopy2 |
T * | Tcopy |
bool | copyInit |
const T * | Treference |
T * | TreferenceNonConst |
boost::function2< T &, T &, Time > | Tfunction |
bool | keepReference |
Mutex * | providerMutex |
Static Protected Attributes | |
static const SignalType | SIGNAL_TYPE_DEFAULT = CONSTANT |
static const bool | KEEP_REFERENCE_DEFAULT = false |
Signals link I/O ports of entities. They can be constant-valued signals, or copy the value of a heap variable, or evaluated as a function. See SignalPtr and SignalTimeDependent for other types of signals, and SignalArray for a way of grouping them.
There are several ways to specify the value output by a signal:
typedef int* dynamicgraph::Signal< T, Time >::Mutex |
typedef int* dynamicgraph::Signal< T, Time >::MutexError |
enum dynamicgraph::Signal::SignalType [protected] |
dynamicgraph::Signal< T, Time >::Signal | ( | std::string | name | ) |
virtual dynamicgraph::Signal< T, Time >::~Signal | ( | ) | [inline, virtual] |
const T & dynamicgraph::Signal< T, Time >::access | ( | const Time & | t | ) | [virtual] |
Reimplemented in dynamicgraph::SignalPtr< T, Time >, and dynamicgraph::SignalTimeDependent< T, Time >.
Referenced by dynamicgraph::SignalTimeDependent< T, Time >::access(), dynamicgraph::SignalPtr< T, Time >::access(), dynamicgraph::Signal< int, int >::operator()(), and dynamicgraph::Signal< int, int >::recompute().
const T & dynamicgraph::Signal< T, Time >::accessCopy | ( | ) | const [virtual] |
virtual void dynamicgraph::Signal< T, Time >::checkCompatibility | ( | ) | [inline, virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
Referenced by dynamicgraph::SignalPtr< T, Time >::checkCompatibility().
std::ostream & dynamicgraph::Signal< T, Time >::display | ( | std::ostream & | os | ) | const [virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
Referenced by dynamicgraph::SignalPtr< T, Time >::display().
void dynamicgraph::Signal< T, Time >::get | ( | std::ostream & | value | ) | const [virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
virtual void dynamicgraph::Signal< T, Time >::getClassName | ( | std::string & | aClassName | ) | const [inline, virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
bool dynamicgraph::Signal< T, Time >::getKeepReference | ( | ) | [inline] |
dynamicgraph::Signal< T, Time >::operator const T & | ( | ) | const [inline] |
References dynamicgraph::Signal< T, Time >::accessCopy().
virtual const T& dynamicgraph::Signal< T, Time >::operator() | ( | const Time & | t | ) | [inline, virtual] |
Reimplemented in dynamicgraph::SignalPtr< T, Time >, and dynamicgraph::SignalTimeDependent< T, Time >.
Signal< T, Time > & dynamicgraph::Signal< T, Time >::operator= | ( | const T & | t | ) | [virtual] |
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
virtual void dynamicgraph::Signal< T, Time >::recompute | ( | const Time & | t | ) | [inline, virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
void dynamicgraph::Signal< T, Time >::set | ( | std::istringstream & | value | ) | [virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
References dynamicgraph::signal_cast().
void dynamicgraph::Signal< T, Time >::setConstant | ( | const T & | t | ) | [virtual] |
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
void dynamicgraph::Signal< T, Time >::setFunction | ( | boost::function2< T &, T &, Time > | t, |
Mutex * | mutexref = NULL |
||
) | [virtual] |
void dynamicgraph::Signal< T, Time >::setKeepReference | ( | const bool & | b | ) | [inline] |
void dynamicgraph::Signal< T, Time >::setReference | ( | const T * | t, |
Mutex * | mutexref = NULL |
||
) | [virtual] |
Referenced by dynamicgraph::SignalPtr< T, Time >::plug().
void dynamicgraph::Signal< T, Time >::setReferenceNonConstant | ( | T * | t, |
Mutex * | mutexref = NULL |
||
) | [virtual] |
void dynamicgraph::Signal< T, Time >::trace | ( | std::ostream & | os | ) | const [virtual] |
Reimplemented from dynamicgraph::SignalBase< Time >.
References DG_RETHROW, DG_THROW, and dynamicgraph::ExceptionSignal::SET_IMPOSSIBLE.
bool dynamicgraph::Signal< T, Time >::copyInit [protected] |
const bool dynamicgraph::Signal< T, Time >::KEEP_REFERENCE_DEFAULT = false [static, protected] |
bool dynamicgraph::Signal< T, Time >::keepReference [protected] |
Mutex* dynamicgraph::Signal< T, Time >::providerMutex [protected] |
const SignalType dynamicgraph::Signal< T, Time >::SIGNAL_TYPE_DEFAULT = CONSTANT [static, protected] |
SignalType dynamicgraph::Signal< T, Time >::signalType [protected] |
T* dynamicgraph::Signal< T, Time >::Tcopy [protected] |
Referenced by dynamicgraph::Signal< int, int >::checkCompatibility().
T dynamicgraph::Signal< T, Time >::Tcopy1 [protected] |
T dynamicgraph::Signal< T, Time >::Tcopy2 [protected] |
boost::function2<T&,T&,Time> dynamicgraph::Signal< T, Time >::Tfunction [protected] |
const T* dynamicgraph::Signal< T, Time >::Treference [protected] |
T* dynamicgraph::Signal< T, Time >::TreferenceNonConst [protected] |