OpenWalnut
1.5.0dev
|
Class offering an instantiate-able data connection between modules. More...
#include <WModuleOutputData.h>
Public Types | |
typedef std::shared_ptr< WModuleOutputData< T > > | PtrType |
Pointer to this. More... | |
typedef std::shared_ptr< WModuleOutputData< T > > | SPtr |
Pointer to this. More... | |
typedef std::shared_ptr< const WModuleOutputData< T > > | ConstSPtr |
Pointer to this. More... | |
typedef WModuleOutputData< T > & | RefType |
Reference to this type. More... | |
typedef WModuleOutputData< T > | Type |
Type of the connector. More... | |
typedef T | TransferType |
Typedef to the contained transferable. More... | |
Public Types inherited from WModuleConnector | |
typedef std::shared_ptr< WModuleConnector > | SPtr |
Shared pointer to this class. More... | |
typedef std::shared_ptr< const WModuleConnector > | ConstSPtr |
Const shared pointer to this class. More... | |
Public Member Functions | |
WModuleOutputData (std::shared_ptr< WModule > module, std::string name="", std::string description="") | |
Constructor. More... | |
virtual | ~WModuleOutputData () |
Destructor. More... | |
virtual void | updateData (std::shared_ptr< T > data) |
Update the data associated. More... | |
virtual void | reset () |
Resets the data on this output. More... | |
virtual void | triggerUpdate () |
This method simply propagates an update but does not actually change the data. More... | |
virtual const std::shared_ptr< WTransferable > | getRawData () const |
Gives back the currently set data as WTransferable. More... | |
const std::shared_ptr< T > | getData () const |
Gives back the currently set data. More... | |
virtual bool | connectable (std::shared_ptr< WModuleConnector > con) |
Checks whether the specified connector is an input connector and compatible with T. More... | |
virtual std::shared_ptr< WPrototyped > | getTransferPrototype () |
Returns the prototype of the Type T used in this connector. More... | |
Public Member Functions inherited from WModuleOutputConnector | |
WModuleOutputConnector (std::shared_ptr< WModule > module, std::string name="", std::string description="") | |
Constructor. More... | |
virtual | ~WModuleOutputConnector () |
Destructor. More... | |
boost::signals2::connection | subscribeSignal (MODULE_CONNECTOR_SIGNAL signal, t_GenericSignalHandlerType notifier) |
Connects (subscribes) a specified notify function with a signal this module instance is offering. More... | |
virtual bool | lazyConnectable (std::shared_ptr< WModuleConnector > con) |
Checks whether the specified connector is connectable to this one, but ignores compatibility the type to be transferred. More... | |
virtual bool | isInputConnector () const |
Returns true if this instance is an WModuleInputConnector. More... | |
virtual bool | isOutputConnector () const |
Returns true if this instance is an WModuleOutputConnector. More... | |
Public Member Functions inherited from WModuleConnector | |
WModuleConnector (std::shared_ptr< WModule > module, std::string name="", std::string description="") | |
Constructor. More... | |
virtual | ~WModuleConnector () |
Destructor. More... | |
std::shared_ptr< WModule > | getModule () const |
Returns the module which owns this connector. More... | |
virtual void | disconnect (std::shared_ptr< WModuleConnector > con, bool removeFromOwnList=true) |
Disconnects this connector if connected. More... | |
virtual void | disconnectAll () |
Disconnects ALL connected connectors. More... | |
virtual void | connect (std::shared_ptr< WModuleConnector > con, bool force=false) |
Connects this Module Connector with another one. More... | |
bool | isConnectedTo (std::shared_ptr< WModuleConnector > con) |
Checks whether this connector is connected to the given one. More... | |
unsigned int | isConnected () |
Gets the count of connections currently established. More... | |
const std::string | getDescription () const |
Gives information about this connection. More... | |
void | setDescription (std::string desc) |
Sets the connector's description. More... | |
const std::string | getName () const |
Gives name of connection. More... | |
const std::string | getCanonicalName () const |
Gives canonical name of connection. More... | |
void | setName (std::string name) |
Sets the connector's name. More... | |
WCombinerTypes::WOneToOneCombiners | getPossibleDisconnections () |
Returns a list of possible disconnections for this connector. More... | |
std::shared_ptr< WModuleInputConnector > | toInputConnector () |
Tries to convert this instance to an input connector. More... | |
std::shared_ptr< WModuleOutputConnector > | toOutputConnector () |
Tries to convert this instance to an output connector. More... | |
std::shared_ptr< WCondition > | getDataChangedCondition () |
Gets the condition variable that gets fired whenever new data has been sent. More... | |
Static Public Member Functions | |
static PtrType | create (std::shared_ptr< WModule > module, std::string name="", std::string description="") |
Convenience method to create a new instance of this out data connector with proper type. More... | |
static PtrType | createAndAdd (std::shared_ptr< WModule > module, std::string name="", std::string description="") |
Convenience method to create a new instance of this out data connector with proper type and add it to the list of connectors of the specified module. More... | |
Protected Attributes | |
std::shared_ptr< T > | m_data |
The data associated with this connector. More... | |
Protected Attributes inherited from WModuleConnector | |
std::set< std::shared_ptr< WModuleConnector > > | m_connected |
List of connectors connected to this connector. More... | |
std::shared_mutex | m_connectionListLock |
Lock for avoiding concurrent write to m_Connected (multiple reader, single writer lock). More... | |
std::weak_ptr< WModule > | m_module |
The Module this connector belongs to. More... | |
std::string | m_moduleName |
The name of the module owning this connector. More... | |
t_GenericSignalType | signal_ConnectionEstablished |
Signal emitted whenever connection has been established. More... | |
t_GenericSignalType | signal_ConnectionClosed |
Signal emitted whenever connection has been closed. More... | |
std::shared_ptr< WCondition > | m_dataChangedCondition |
Condition fired whenever data changes. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from WModuleOutputConnector | |
virtual void | propagateDataChange () |
Propagates the signal "DATA_CHANGED" to all connected items. More... | |
Protected Member Functions inherited from WModuleConnector | |
virtual void | connectSignals (std::shared_ptr< WModuleConnector > con) |
Connect additional signals. More... | |
virtual void | disconnectSignals (std::shared_ptr< WModuleConnector > con) |
Disconnect all signals subscribed by this connector from "con". More... | |
virtual const t_GenericSignalHandlerType | getSignalHandler (MODULE_CONNECTOR_SIGNAL signal) |
Gives the signal handler function responsible for a given signal. More... | |
virtual void | notifyConnectionEstablished (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there) |
Gets called whenever a connector gets connected to the specified input. More... | |
virtual void | notifyConnectionClosed (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there) |
Gets called whenever a connection between a remote and local connector gets closed. More... | |
Class offering an instantiate-able data connection between modules.
Due to is template style it is possible to bind nearly arbitrary data.
Definition at line 43 of file WModuleOutputData.h.
typedef std::shared_ptr< const WModuleOutputData< T > > WModuleOutputData< T >::ConstSPtr |
typedef std::shared_ptr< WModuleOutputData< T > > WModuleOutputData< T >::PtrType |
typedef WModuleOutputData< T >& WModuleOutputData< T >::RefType |
Reference to this type.
Definition at line 64 of file WModuleOutputData.h.
typedef std::shared_ptr< WModuleOutputData< T > > WModuleOutputData< T >::SPtr |
typedef T WModuleOutputData< T >::TransferType |
Typedef to the contained transferable.
Definition at line 74 of file WModuleOutputData.h.
typedef WModuleOutputData< T > WModuleOutputData< T >::Type |
Type of the connector.
Definition at line 69 of file WModuleOutputData.h.
|
inline |
Constructor.
module | the module which is owner of this connector. |
name | The name of this connector. |
description | Short description of this connector. |
Definition at line 106 of file WModuleOutputData.h.
References WModuleOutputData< T >::m_data.
|
inlinevirtual |
Destructor.
Definition at line 115 of file WModuleOutputData.h.
|
inlinevirtual |
Checks whether the specified connector is an input connector and compatible with T.
con | the connector to check against. |
Reimplemented from WModuleOutputConnector.
Definition at line 176 of file WModuleOutputData.h.
References WModuleOutputConnector::connectable().
|
static |
Convenience method to create a new instance of this out data connector with proper type.
module | the module owning this instance |
name | the name of this connector. |
description | the description of this connector. |
Definition at line 204 of file WModuleOutputData.h.
Referenced by WMFilterProtonData::connectors(), and WMPointConnector::connectors().
|
static |
Convenience method to create a new instance of this out data connector with proper type and add it to the list of connectors of the specified module.
module | the module owning this instance |
name | the name of this connector. |
description | the description of this connector. |
Definition at line 213 of file WModuleOutputData.h.
Referenced by WMDataCreatorFibers::connectors(), WMDataCreatorPoints::connectors(), WMDataCreatorScalar::connectors(), WMDataCreatorVector::connectors(), WMDiffTensorScalars::connectors(), WMFiberResampling::connectors(), WMFilterProtonData::connectors(), WMPartition2Mesh::connectors(), WMMergeComponentsToVector::connectors(), WMMergePoints::connectors(), WMPointConnector::connectors(), WMReadVCL::connectors(), WMScalarOperator::connectors(), WMSpatialDerivative::connectors(), WMVectorAlign::connectors(), WMVectorNormalize::connectors(), WMVectorOperator::connectors(), WMVectorScale::connectors(), and WMVoxelizer::connectors().
|
inline |
Gives back the currently set data.
Definition at line 164 of file WModuleOutputData.h.
References WModuleOutputData< T >::m_data.
|
inlinevirtual |
Gives back the currently set data as WTransferable.
Implements WModuleOutputConnector.
Definition at line 154 of file WModuleOutputData.h.
References WModuleOutputData< T >::m_data.
|
inlinevirtual |
Returns the prototype of the Type T used in this connector.
Implements WModuleOutputConnector.
Definition at line 187 of file WModuleOutputData.h.
References WModuleOutputData< T >::m_data.
|
inlinevirtual |
Resets the data on this output.
It actually sets NULL and triggers an update.
Definition at line 135 of file WModuleOutputData.h.
References WModuleOutputData< T >::updateData().
|
inlinevirtual |
This method simply propagates an update but does not actually change the data.
Definition at line 143 of file WModuleOutputData.h.
References WModuleOutputConnector::propagateDataChange().
Referenced by WModuleOutputData< T >::updateData().
|
inlinevirtual |
Update the data associated.
data | the data do send |
Definition at line 124 of file WModuleOutputData.h.
References WModuleOutputData< T >::m_data, and WModuleOutputData< T >::triggerUpdate().
Referenced by WModuleOutputForwardData< T >::inputNotifyDataChange(), and WModuleOutputData< T >::reset().
|
protected |
The data associated with this connector.
Definition at line 199 of file WModuleOutputData.h.
Referenced by WModuleOutputData< T >::getData(), WModuleOutputData< T >::getRawData(), WModuleOutputData< T >::getTransferPrototype(), WModuleOutputData< T >::updateData(), and WModuleOutputData< T >::WModuleOutputData().