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 () |
![]() | |
SignalBase (std::string name="") | |
virtual | ~SignalBase () |
virtual const Time & | getTime () const |
virtual void | setTime (const Time &t) |
const bool & | getReady () const |
const std::string & | getName () const |
void | getClassName (std::string &aClassName) const |
virtual void | setPeriodTime (const Time &) |
virtual Time | getPeriodTime () const |
virtual void | addDependency (const SignalBase< Time > &) |
virtual void | removeDependency (const SignalBase< Time > &) |
virtual void | clearDependencies () |
virtual bool | needUpdate (const Time &) const |
void | setReady (const bool sready=true) |
virtual std::ostream & | writeGraph (std::ostream &os) const |
virtual std::ostream & | displayDependencies (std::ostream &os, const int=-1, std::string space="", std::string next1="", std::string="") const |
virtual void | plug (SignalBase< Time > *sigarg) |
virtual void | unplug () |
virtual bool | isPlugged () const |
virtual SignalBase< Time > * | getPluged () const |
virtual void | setConstantDefault () |
std::string | shortName () const |
virtual void | ExtractNodeAndLocalNames (std::string &LocalName, std::string &NodeName) const |
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 |
![]() | |
std::string | name |
Time | signalTime |
bool | ready |
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 |
|
protected |
dynamicgraph::Signal< T, Time >::Signal | ( | std::string | name | ) |
References __SIGNAL_INIT, and dynamicgraph::SignalBase< Time >::name.
Referenced by dynamicgraph::SignalPtr< T, Time >::getPtr(), dynamicgraph::SignalPtr< T, Time >::getPtr(), dynamicgraph::SignalPtr< T, Time >::operator*(), dynamicgraph::SignalPtr< T, Time >::operator*(), dynamicgraph::SignalPtr< T, Time >::operator->(), dynamicgraph::SignalPtr< T, Time >::operator->(), operator=(), dynamicgraph::SignalPtr< T, Time >::operator=(), dynamicgraph::SignalPtr< T, Time >::plug(), dynamicgraph::SignalPtr< T, Time >::SignalPtr(), dynamicgraph::SignalTimeDependent< T, Time >::SignalTimeDependent(), dynamicgraph::SignalTimeDependent< T, Time >::SignalTimeDependent(), and dynamicgraph::SignalTimeDependent< T, Time >::SignalTimeDependent().
|
inlinevirtual |
|
virtual |
Reimplemented in dynamicgraph::SignalPtr< T, Time >, dynamicgraph::SignalTimeDependent< T, Time >, and dynamicgraph::SignalTimeDependent< int, int >.
References accessCopy(), CONSTANT, copyInit, FUNCTION, dynamicgraph::SignalBase< Time >::getReady(), providerMutex, REFERENCE, REFERENCE_NON_CONST, dynamicgraph::SignalBase< Time >::setReady(), dynamicgraph::SignalBase< Time >::setTime(), dynamicgraph::SignalBase< Time >::signalTime, signalType, Tfunction, and Treference.
Referenced by dynamicgraph::SignalPtr< T, Time >::access(), dynamicgraph::SignalTimeDependent< T, Time >::access(), operator()(), and recompute().
|
virtual |
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
References Tcopy.
Referenced by access(), dynamicgraph::SignalPtr< T, Time >::access(), dynamicgraph::SignalTimeDependent< T, Time >::access(), dynamicgraph::SignalPtr< T, Time >::accessCopy(), get(), dynamicgraph::Signal< int, int >::operator const int &(), and trace().
|
inlinevirtual |
Reimplemented from dynamicgraph::SignalBase< Time >.
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
References Tcopy.
Referenced by dynamicgraph::SignalPtr< T, Time >::checkCompatibility().
|
virtual |
Reimplemented from dynamicgraph::SignalBase< Time >.
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
References CONSTANT, FUNCTION, dynamicgraph::SignalBase< Time >::name, REFERENCE, REFERENCE_NON_CONST, and signalType.
Referenced by dynamicgraph::SignalPtr< T, Time >::display().
|
virtual |
Reimplemented from dynamicgraph::SignalBase< Time >.
References accessCopy(), and dynamicgraph::signal_disp().
|
inlinevirtual |
References dynamicgraph::SignalBase< Time >::name.
|
inline |
References keepReference.
|
inline |
|
inlinevirtual |
Reimplemented in dynamicgraph::SignalPtr< T, Time >, dynamicgraph::SignalTimeDependent< T, Time >, and dynamicgraph::SignalTimeDependent< int, int >.
References access().
|
virtual |
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
References keepReference, providerMutex, REFERENCE_NON_CONST, setConstant(), Signal(), signalType, and TreferenceNonConst.
|
inlinevirtual |
Reimplemented from dynamicgraph::SignalBase< Time >.
References access().
|
virtual |
Reimplemented from dynamicgraph::SignalBase< Time >.
References dynamicgraph::signal_cast().
|
virtual |
Reimplemented in dynamicgraph::SignalPtr< T, Time >.
References CONSTANT, dynamicgraph::SignalBase< Time >::setReady(), and signalType.
Referenced by operator=(), dynamicgraph::SignalPtr< T, Time >::setConstant(), and dynamicgraph::SignalPtr< T, Time >::setConstantDefault().
|
virtual |
|
inline |
References keepReference.
|
virtual |
References copyInit, providerMutex, REFERENCE, dynamicgraph::SignalBase< Time >::setReady(), signalType, and Treference.
Referenced by dynamicgraph::SignalPtr< T, Time >::plug(), and dynamicgraph::SignalPtr< T, Time >::setReference().
|
virtual |
|
virtual |
Reimplemented from dynamicgraph::SignalBase< Time >.
References accessCopy(), DG_RETHROW, DG_THROW, dynamicgraph::SignalBase< Time >::getName(), dynamicgraph::ExceptionSignal::SET_IMPOSSIBLE, and dynamicgraph::signal_trace().
|
protected |
|
staticprotected |
|
protected |
Referenced by getKeepReference(), operator=(), and setKeepReference().
|
protected |
Referenced by access(), operator=(), setFunction(), setReference(), and setReferenceNonConstant().
|
staticprotected |
|
protected |
Referenced by access(), display(), operator=(), setConstant(), setFunction(), setReference(), and setReferenceNonConstant().
|
protected |
Referenced by accessCopy(), and checkCompatibility().
|
protected |
Referenced by dynamicgraph::SignalPtr< T, Time >::plug().
|
protected |
|
protected |
Referenced by access(), and setFunction().
|
protected |
Referenced by access(), setReference(), and setReferenceNonConstant().
|
protected |
Referenced by operator=(), and setReferenceNonConstant().