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 const T & | access (const Time &t) |
virtual const T & | accessCopy () const |
virtual void | checkCompatibility () |
virtual std::ostream & | display (std::ostream &os) const |
virtual void | get (std::ostream &value) const |
virtual void | getClassName (std::string &aClassName) const |
bool | getKeepReference () |
operator const T & () const | |
virtual const T & | operator() (const Time &t) |
virtual Signal< T, Time > & | operator= (const T &t) |
virtual void | recompute (const Time &t) |
virtual void | set (std::istringstream &value) |
virtual void | setConstant (const T &t) |
virtual void | setFunction (boost::function2< T &, T &, Time > t, Mutex *mutexref=NULL) |
void | setKeepReference (const bool &b) |
virtual void | setReference (const T *t, Mutex *mutexref=NULL) |
virtual void | setReferenceNonConstant (T *t, Mutex *mutexref=NULL) |
virtual void | trace (std::ostream &os) const |
Public Member Functions inherited from SignalBase< Time > | |
SignalBase (std::string name="") | |
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 | |
bool | copyInit |
bool | keepReference |
Mutex * | providerMutex |
SignalType | signalType |
T * | Tcopy |
T | Tcopy1 |
T | Tcopy2 |
boost::function2< T &, T &, Time > | Tfunction |
const T * | Treference |
T * | TreferenceNonConst |
Protected Attributes inherited from SignalBase< Time > | |
std::string | name |
bool | ready |
Time | signalTime |
Static Protected Attributes | |
static const bool | KEEP_REFERENCE_DEFAULT = false |
static const SignalType | SIGNAL_TYPE_DEFAULT = CONSTANT |
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:
|
inlinevirtual |
checkCompatibility is used to get the object contained in the signal. This used to verify if a dynamic cast is possible or not.
Reimplemented from SignalBase< Time >.
Reimplemented in SignalPtr< T, Time >.