OpenWalnut  1.5.0dev
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
WModule Class Referenceabstract

Class representing a single module of OpenWalnut. More...

#include <WModule.h>

+ Inheritance diagram for WModule:
+ Collaboration diagram for WModule:

Public Types

typedef std::vector< std::shared_ptr< WModuleInputConnector > > InputConnectorList
 The type for the list of input connectors. More...
 
typedef std::vector< std::shared_ptr< WModuleOutputConnector > > OutputConnectorList
 The type for the list of output connectors. More...
 
typedef std::shared_ptr< WModuleSPtr
 Shared pointer to a WModule. More...
 
typedef std::shared_ptr< const WModuleConstSPtr
 Shared pointer to a const WModule. More...
 
- Public Types inherited from WThreadedRunner
typedef std::shared_ptr< WThreadedRunnerSPtr
 Abbreviation to a shared_ptr to this type. More...
 
typedef std::shared_ptr< const WThreadedRunnerConstSPtr
 Abbreviation to a const shared_ptr to this type. More...
 
typedef boost::function< void(void) > THREADFUNCTION
 Type used for simple thread functions. More...
 

Public Member Functions

 WModule ()
 Constructs a new WModule instance. More...
 
virtual ~WModule ()
 Destructor. More...
 
const InputConnectorListgetInputConnectors () const
 Gives back input connectors. More...
 
std::shared_ptr< WModuleInputConnectorgetInputConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleInputConnectorfindInputConnector (std::string name)
 Finds the named connector for the module. More...
 
const OutputConnectorListgetOutputConnectors () const
 Gives back output connectors. More...
 
std::shared_ptr< WModuleOutputConnectorgetOutputConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleOutputConnectorfindOutputConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleConnectorgetConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleConnectorfindConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WPropertiesgetProperties () const
 Return a pointer to the properties object of the module. More...
 
std::shared_ptr< WPropertiesgetInformationProperties () const
 Return a pointer to the information properties object of the module. More...
 
const WBoolFlagisInitialized () const
 Determines whether the module instance is properly initialized. More...
 
const WBoolFlagisUseable () const
 Checks whether the module instance is ready to be used. More...
 
const WBoolFlagisAssociated () const
 Checks whether this module is associated with an container. More...
 
const WBoolFlagisReady () const
 Checks whether this module is ready. More...
 
const WBoolFlagisReadyOrCrashed () const
 This is the logical or of isReady and isCrashed. More...
 
const WBoolFlagisRunning () const
 Returns a flag denoting whether the thread currently is running or nor. More...
 
void waitRestored ()
 This method waits for the module to be restored completely. More...
 
bool isRestoreNeeded () const
 Check whether this module is in restore mode. More...
 
void setRestoreNeeded (bool restore=true)
 Change the restore mode. More...
 
void reportRestoreComplete ()
 Called by loaders to tell the module that loading has been completed. More...
 
std::shared_ptr< WModuleContainergetAssociatedContainer () const
 The container this module is associated with. More...
 
virtual std::shared_ptr< WModulefactory () const =0
 Due to the prototype design pattern used to build modules, this method returns a new instance of this module. More...
 
virtual boost::signals2::connection subscribeSignal (MODULE_SIGNAL signal, t_ModuleGenericSignalHandlerType notifier)
 Connects a specified notify function with a signal this module instance is offering. More...
 
virtual boost::signals2::connection subscribeSignal (MODULE_SIGNAL signal, t_ModuleErrorSignalHandlerType notifier)
 Connects a specified notify function with a signal this module instance is offering. More...
 
virtual std::shared_ptr< WProgressCombinergetRootProgressCombiner ()
 Gets the modules base progress. More...
 
virtual const char ** getXPMIcon () const
 Get the icon for this module in XPM format. More...
 
virtual MODULE_TYPE getType () const
 Gets the type of the module. More...
 
void disconnect ()
 Completely disconnects all connected connectors of this module. More...
 
WCombinerTypes::WDisconnectList getPossibleDisconnections ()
 Gives a list of all WDisconnectCombiners possible. More...
 
boost::filesystem::path getLocalPath () const
 Returns the local path of the module. More...
 
boost::filesystem::path getLibPath () const
 Returns the absolute path to the library containing this module. More...
 
std::string getPackageName () const
 Returns the name of the package the module belongs to, The package name basically is the name of the library containing this and maybe other modules. More...
 
bool isDeprecated () const
 Checks whether the module was marked as deprecated. More...
 
std::string getDeprecationMessage () const
 Queries the deprecation message of a module if specified. More...
 
virtual WModuleMetaInformation::ConstSPtr getMetaInformation () const
 The meta information of this module. More...
 
const std::string & getUUID () const
 Get the UUID of the module instance. More...
 
WPropString getRuntimeName () const
 Returns the name the user has given this module. More...
 
const WRequirementcheckRequirements () const
 This method checks whether all the requirements of the module are complied. More...
 
virtual boost::signals2::connection subscribeSignal (THREAD_SIGNAL signal, t_ThreadErrorSignalHandlerType notifier)
 Connects a specified notify function with a signal this thread instance is offering. More...
 
- Public Member Functions inherited from WThreadedRunner
 WThreadedRunner ()
 Default constructor. More...
 
virtual ~WThreadedRunner ()
 Destructor. More...
 
virtual void run ()
 Run thread. More...
 
void run (THREADFUNCTION f)
 Run thread. More...
 
void wait (bool requestFinish=false)
 Wait for the thread to be finished. More...
 
virtual void requestStop ()
 This method's purpose is to request a stop without waiting for it. More...
 
virtual boost::signals2::connection subscribeSignal (THREAD_SIGNAL signal, t_ThreadErrorSignalHandlerType notifier)
 Connects a specified notify function with a signal this thread instance is offering. More...
 
const WBoolFlagisCrashed () const
 Checks whether this thread has been crashed. More...
 
const std::string & getCrashMessage () const
 Get the message of the exception finally causing the crash. More...
 
void setThreadName (std::string name)
 Set the name of the thread. More...
 
std::string getThreadName () const
 Returns the current thread name. More...
 
- Public Member Functions inherited from WPrototyped
 WPrototyped ()
 Default constructor. More...
 
virtual ~WPrototyped ()
 Destructor. More...
 
virtual const std::string getName () const =0
 Gets the name of this prototype. More...
 
virtual const std::string getDescription () const =0
 Gets the description for this prototype. More...
 
template<typename T >
bool isA ()
 Checks whether the actual prototype has the specified runtime type. More...
 

Static Public Member Functions

static SPtr findByUUID (std::string uuid)
 Find a module instance by UUID. More...
 
- Static Public Member Functions inherited from WThreadedRunner
static void setThisThreadName (std::string name)
 Static function to set the name of the calling thread. More...
 

Protected Types

typedef std::vector< WRequirement * > Requirements
 The type of the requirement list. More...
 

Protected Member Functions

virtual void moduleMain ()=0
 Entry point after loading the module. More...
 
void threadMain ()
 Thread entry point. More...
 
virtual void onThreadException (const WException &e)
 This method is called if an exception was caught, which came from the custom thread code. More...
 
void setAssociatedContainer (std::shared_ptr< WModuleContainer > container)
 Sets the container this module is associated with. More...
 
virtual void connectors ()
 Initialize connectors in this function. More...
 
virtual void properties ()
 Initialize properties in this function. More...
 
virtual void requirements ()
 Initialize requirements in this function. More...
 
virtual std::string deprecated () const
 This function allows module programmers to mark their modules deprecated in a user-friendly way. More...
 
void initialize ()
 Manages initialization. More...
 
virtual void cleanup ()
 Called whenever the module should shutdown. More...
 
void addConnector (std::shared_ptr< WModuleInputConnector > con)
 Adds the specified connector to the list of inputs. More...
 
void addConnector (std::shared_ptr< WModuleOutputConnector > con)
 Adds the specified connector to the list of outputs. More...
 
void removeConnectors ()
 Removes all connectors properly. More...
 
virtual void activate ()
 Callback for m_active. 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...
 
virtual void notifyDataChange (std::shared_ptr< WModuleConnector > input, std::shared_ptr< WModuleConnector > output)
 Gets called when the data on one input connector changed. More...
 
void ready ()
 Call this whenever your module is ready and can react on property changes. More...
 
wlog::WStreamedLogger infoLog () const
 Logger instance for comfortable info logging. More...
 
wlog::WStreamedLogger debugLog () const
 Logger instance for comfortable debug logging. More...
 
wlog::WStreamedLogger warnLog () const
 Logger instance for comfortable warning- logs. More...
 
wlog::WStreamedLogger errorLog () const
 Logger instance for comfortable error logging. More...
 
void setLocalPath (boost::filesystem::path path)
 Sets the local module path. More...
 
void setLibPath (boost::filesystem::path path)
 Set the path to the library which contains this module. More...
 
void setPackageName (std::string name)
 Set the package name. More...
 
- Protected Member Functions inherited from WThreadedRunner
virtual void notifyStop ()
 Gets called when the thread should be stopped. More...
 
void yield () const
 Give remaining execution timeslice to another thread. More...
 
void sleep (const int32_t t) const
 Sets thread asleep. More...
 
void msleep (const int32_t t) const
 Sets thread asleep. More...
 
void waitForStop ()
 Let the thread sleep until a stop request was given. More...
 
void handleDeadlyException (const WException &e, std::string sender="WThreadedRunner")
 Handle the specified exception which was not caught in the thread, which basically means the thread has crashed. More...
 

Protected Attributes

std::shared_ptr< WPropertiesm_properties
 The property object for the module. More...
 
std::shared_ptr< WPropertiesm_infoProperties
 The property object for the module containing only module whose purpose is "PV_PURPOSE_INFORMNATION". More...
 
std::shared_ptr< WProgressCombinerm_progress
 Progress indicator used as parent for all progress' of this module. More...
 
WBoolFlag m_initialized
 True if everything is initialized and ready to be used. More...
 
WBoolFlag m_isAssociated
 True if container got associated with this flag. More...
 
WBoolFlag m_isUsable
 True if associated && initialized. More...
 
WBoolFlag m_isReady
 True if ready() was called. More...
 
WBoolFlag m_isReadyOrCrashed
 It is true whenever m_isReady or WThreadedRunner::m_isCrashed is true. More...
 
WBoolFlag m_isRunning
 True if the module currently is running. More...
 
WBoolFlag m_isLoadFinished
 Flag to denote whether the module container and the project loader have finished their work. More...
 
bool m_restoreMode
 Flag denoting the current restore mode. More...
 
std::shared_ptr< WProgressm_readyProgress
 Progress indicator for the "ready" state. More...
 
WConditionSet m_moduleState
 The internal state of the module. More...
 
std::shared_ptr< WModuleContainerm_container
 The container this module belongs to. More...
 
InputConnectorList m_inputConnectors
 Set of input connectors associated with this module. More...
 
OutputConnectorList m_outputConnectors
 Set of output connectors associated with this module. More...
 
WPropBool m_active
 True whenever the module should be active. More...
 
WPropString m_runtimeName
 This property holds a user specified name for the current module instance. More...
 
boost::filesystem::path m_localPath
 The path where the module binary resides in. More...
 
boost::filesystem::path m_libPath
 The absolute path to the library containing this module. More...
 
std::string m_packageName
 The name of the lib/the package containing this module. More...
 
Requirements m_requirements
 The list of requirements. More...
 
- Protected Attributes inherited from WThreadedRunner
boost::thread m_thread
 Thread instance. More...
 
WBoolFlag m_shutdownFlag
 Condition getting fired whenever the thread should quit. More...
 
WBoolFlag m_isCrashed
 True whenever an exception is thrown during threadMain. More...
 
std::string m_crashMessage
 The crash message. More...
 

Private Member Functions

void setUUID (std::string uuid)
 Set a uuid. More...
 

Private Attributes

WModuleMetaInformation::SPtr m_meta
 Lock for m_inputConnectors. More...
 
t_ModuleGenericSignalType signal_ready
 Signal fired whenever a module main thread is ready. More...
 
t_ModuleErrorSignalType signal_error
 Signal fired whenever a module main thread throws an exception/error. More...
 
std::string m_uuid
 The unique ID of the module instance. More...
 

Friends

class WModuleConnector
 requires access to notify members More...
 
template<typename T >
class WModuleInputData
 requires access for convenience functions to automatically add a created connector More...
 
template<typename T >
class WModuleInputForwardData
 requires access for convenience functions to automatically add a created connector More...
 
template<typename T >
class WModuleOutputData
 requires access for convenience functions to automatically add a created connector More...
 
template<typename T >
class WModuleOutputForwardData
 requires access for convenience functions to automatically add a created connector More...
 
class WModuleFactory
 for proper creation of module instances, the factory needs access to protected functions.(esp. initialize) More...
 
class WModuleContainer
 for proper management of m_container WModuleContainer needs access. More...
 
class WModuleLoader
 needs to set several protected values like local path and library names. More...
 

Detailed Description

Class representing a single module of OpenWalnut.

Definition at line 69 of file WModule.h.

Member Typedef Documentation

◆ ConstSPtr

typedef std::shared_ptr< const WModule > WModule::ConstSPtr

Shared pointer to a const WModule.

Definition at line 111 of file WModule.h.

◆ InputConnectorList

typedef std::vector< std::shared_ptr< WModuleInputConnector > > WModule::InputConnectorList

The type for the list of input connectors.

Definition at line 96 of file WModule.h.

◆ OutputConnectorList

typedef std::vector< std::shared_ptr< WModuleOutputConnector > > WModule::OutputConnectorList

The type for the list of output connectors.

Definition at line 101 of file WModule.h.

◆ Requirements

typedef std::vector< WRequirement* > WModule::Requirements
protected

The type of the requirement list.

Definition at line 749 of file WModule.h.

◆ SPtr

typedef std::shared_ptr< WModule > WModule::SPtr

Shared pointer to a WModule.

Definition at line 106 of file WModule.h.

Constructor & Destructor Documentation

◆ WModule()

WModule::WModule ( )

◆ ~WModule()

WModule::~WModule ( )
virtual

Destructor.

Definition at line 103 of file WModule.cpp.

Member Function Documentation

◆ activate()

void WModule::activate ( )
protectedvirtual

◆ addConnector() [1/2]

void WModule::addConnector ( std::shared_ptr< WModuleInputConnector con)
protected

Adds the specified connector to the list of inputs.

Parameters
conthe connector.

Definition at line 108 of file WModule.cpp.

References m_inputConnectors, and m_outputConnectors.

Referenced by WModuleImpl::connectors(), WMAnisotropicFiltering::connectors(), WMApplyMask::connectors(), WMArbitraryROIs::connectors(), WMButterfly::connectors(), WMCalculateGFA::connectors(), WMCalculateHistogram::connectors(), WMCalculateTensors::connectors(), WMClusterDisplay::connectors(), WMClusterDisplayVoxels::connectors(), WMCoordinateSystem::connectors(), WMData::connectors(), WMReadSphericalHarmonics::connectors(), WMDatasetManipulator::connectors(), WMDatasetProfile::connectors(), WMDataTypeConversion::connectors(), WMDeterministicFTMori::connectors(), WMDistanceMap::connectors(), WMDistanceMapIsosurface::connectors(), WMEEGView::connectors(), WMEffectiveConnectivityCluster::connectors(), WMFiberParameterColoring::connectors(), WMFiberSelection::connectors(), WMFibersToPoints::connectors(), WMFiberTransform::connectors(), WMFiberTranslator::connectors(), WMFunctionalMRIViewer::connectors(), WMGaussFiltering::connectors(), WMGridRenderer::connectors(), WMHARDIToSphericalHarmonics::connectors(), WMHierchClustDisplay::connectors(), WMHistogramEqualization::connectors(), WMHistogramView::connectors(), WMMultiHistogramView::connectors(), WMImageExtractor::connectors(), WMIsosurface::connectors(), WMIsosurfaceRaytracer::connectors(), WMMeshToPoints::connectors(), WMPaintTexture::connectors(), WMReadAmiraMesh::connectors(), WMReadDipoles::connectors(), WMReadMesh::connectors(), WMReadRawData::connectors(), WMResampleRegular::connectors(), WMSampleOnFibers::connectors(), WMScalarSegmentation::connectors(), WMSplineSurface::connectors(), WMSuperquadricGlyphs::connectors(), WMSurfaceParameterAnimator::connectors(), WMTeemGlyphs::connectors(), WMVectorPlot::connectors(), WMWebglSupport::connectors(), WMWriteField::connectors(), WMWriteMesh::connectors(), and WMWriteRawData::connectors().

+ Here is the caller graph for this function:

◆ addConnector() [2/2]

void WModule::addConnector ( std::shared_ptr< WModuleOutputConnector con)
protected

Adds the specified connector to the list of outputs.

Parameters
conthe connector.

Definition at line 127 of file WModule.cpp.

References m_inputConnectors, and m_outputConnectors.

◆ checkRequirements()

const WRequirement * WModule::checkRequirements ( ) const

This method checks whether all the requirements of the module are complied.

Can be used if the instance is a prototype.

Returns
the requirement that has failed.

Definition at line 512 of file WModule.cpp.

References m_requirements.

Referenced by threadMain().

+ Here is the caller graph for this function:

◆ cleanup()

void WModule::cleanup ( )
protectedvirtual

Called whenever the module should shutdown.

Reimplemented in WMArbitraryROIs.

Definition at line 262 of file WModule.cpp.

References removeConnectors().

+ Here is the call graph for this function:

◆ connectors()

void WModule::connectors ( )
protectedvirtual

Initialize connectors in this function.

This function must not be called multiple times for one module instance. The module container manages calling those functions -> so just implement it.

Reimplemented in WMWriteTransferFunction, WMWriteTracts, WMWriteRawData, WMWriteCSV, WMWriteMesh, WMWriteField, WMWriteDendrogram, WMWriteAmiraMesh, WMWebglSupport, WMVoxelizer, WMVectorScale, WMVectorPlot, WMVectorOperator, WMVectorNormalize, WMVectorAlign, WMTriangleMeshRenderer, WMTransferFunctionColorBar, WMTransferFunction1D, WMTemplateUI, WMTemplateShaders, WMTemplateRenderPipelines, WMTemplateDataLoader, WMTemplateContainers, WMTemplateColormapping, WMTemplate, WMTeemGlyphs, WMSurfaceParameterAnimator, WMSurfaceIllustrator, WMSuperquadricGlyphs, WMSplineSurface, WMSpatialDerivative, WMScalarSegmentation, WMScalarOperator, WMSampleOnFibers, WMResampleRegular, WMReadVIM, WMReadVCL, WMReadSimpleTextLineData, WMReadRawData, WMReadMesh, WMReadLAS, WMReadDipoles, WMReadAmiraMesh, WMProjectionsAsContext, WMProbTractDisplay, WMPointRenderer, WMPointConnector, WMPickingDVREvaluation, WMPickingDVR, WMPaintTexture, WMOpenIGTLinkSender, WMNavigationSlices, WMMeshToPoints, WMMergePoints, WMMergeComponentsToVector, WMIsosurfaceRaytracer, WMIsosurface, WMImageSpaceTensorLIC, WMImageSpaceLIC, WMImageExtractor, WMMultiHistogramView, WMHistogramView, WMHistogramEqualization, WMPartition2Mesh, WMHierchClustDisplay, WMHARDIToSphericalHarmonics, WMGridRenderer, WMGaussFiltering, WMFunctionalMRIViewer, WMFilterProtonData, WMFiberTranslator, WMFiberTransform, WMFibersToPoints, WMFiberSelection, WMFiberResampling, WMFiberParameterColoring, WMFiberFilterROI, WMFiberFilterIndex, WMFiberDisplay, WMEigenSystem, WMEffectiveConnectivityCluster, WMEEGView, WMDistanceMapIsosurface, WMDistanceMap, WMDirectVolumeRendering, WMDiffTensorScalars, WMDeterministicFTMori, WMDataTypeConversion, WMDatasetProfile, WMDatasetManipulator, WMDataCreatorVector, WMDataCreatorScalar, WMDataCreatorPoints, WMDataCreatorFibers, WMWriteNIfTI, WMReadSphericalHarmonics, WMData, WMCoordinateSystem, WMColormapper, WMClusterDisplayVoxels, WMClusterDisplay, WMCalculateTensors, WMCalculateHistogram, WMCalculateGFA, WMButterfly, WMArbitraryROIs, WMArbitraryPlane, WMApplyMask, WMAnisotropicFiltering, and WModuleImpl.

Definition at line 208 of file WModule.cpp.

Referenced by WMAnisotropicFiltering::connectors(), WMApplyMask::connectors(), WMArbitraryPlane::connectors(), WMArbitraryROIs::connectors(), WMButterfly::connectors(), WMCalculateGFA::connectors(), WMCalculateHistogram::connectors(), WMCalculateTensors::connectors(), WMClusterDisplay::connectors(), WMClusterDisplayVoxels::connectors(), WMColormapper::connectors(), WMCoordinateSystem::connectors(), WMData::connectors(), WMReadSphericalHarmonics::connectors(), WMWriteNIfTI::connectors(), WMDataCreatorFibers::connectors(), WMDataCreatorPoints::connectors(), WMDataCreatorScalar::connectors(), WMDataCreatorVector::connectors(), WMDatasetManipulator::connectors(), WMDatasetProfile::connectors(), WMDataTypeConversion::connectors(), WMDeterministicFTMori::connectors(), WMDiffTensorScalars::connectors(), WMDirectVolumeRendering::connectors(), WMDistanceMap::connectors(), WMDistanceMapIsosurface::connectors(), WMEEGView::connectors(), WMEffectiveConnectivityCluster::connectors(), WMEigenSystem::connectors(), WMFiberDisplay::connectors(), WMFiberFilterIndex::connectors(), WMFiberFilterROI::connectors(), WMFiberParameterColoring::connectors(), WMFiberResampling::connectors(), WMFiberSelection::connectors(), WMFibersToPoints::connectors(), WMFiberTransform::connectors(), WMFiberTranslator::connectors(), WMFilterProtonData::connectors(), WMFunctionalMRIViewer::connectors(), WMGaussFiltering::connectors(), WMGridRenderer::connectors(), WMHARDIToSphericalHarmonics::connectors(), WMHierchClustDisplay::connectors(), WMPartition2Mesh::connectors(), WMHistogramEqualization::connectors(), WMHistogramView::connectors(), WMMultiHistogramView::connectors(), WMImageExtractor::connectors(), WMImageSpaceLIC::connectors(), WMImageSpaceTensorLIC::connectors(), WMIsosurface::connectors(), WMIsosurfaceRaytracer::connectors(), WMMergeComponentsToVector::connectors(), WMMergePoints::connectors(), WMMeshToPoints::connectors(), WMNavigationSlices::connectors(), WMOpenIGTLinkSender::connectors(), WMPaintTexture::connectors(), WMPickingDVR::connectors(), WMPickingDVREvaluation::connectors(), WMPointConnector::connectors(), WMPointRenderer::connectors(), WMProbTractDisplay::connectors(), WMProjectionsAsContext::connectors(), WMReadAmiraMesh::connectors(), WMReadDipoles::connectors(), WMReadLAS::connectors(), WMReadMesh::connectors(), WMReadRawData::connectors(), WMReadSimpleTextLineData::connectors(), WMReadVCL::connectors(), WMReadVIM::connectors(), WMResampleRegular::connectors(), WMSampleOnFibers::connectors(), WMScalarOperator::connectors(), WMScalarSegmentation::connectors(), WMSpatialDerivative::connectors(), WMSplineSurface::connectors(), WMSuperquadricGlyphs::connectors(), WMSurfaceIllustrator::connectors(), WMSurfaceParameterAnimator::connectors(), WMTeemGlyphs::connectors(), WMTemplate::connectors(), WMTemplateColormapping::connectors(), WMTemplateContainers::connectors(), WMTemplateDataLoader::connectors(), WMTemplateRenderPipelines::connectors(), WMTemplateShaders::connectors(), WMTemplateUI::connectors(), WMTransferFunction1D::connectors(), WMTransferFunctionColorBar::connectors(), WMTriangleMeshRenderer::connectors(), WMVectorAlign::connectors(), WMVectorNormalize::connectors(), WMVectorOperator::connectors(), WMVectorPlot::connectors(), WMVectorScale::connectors(), WMVoxelizer::connectors(), WMWebglSupport::connectors(), WMWriteAmiraMesh::connectors(), WMWriteDendrogram::connectors(), WMWriteField::connectors(), WMWriteMesh::connectors(), WMWriteCSV::connectors(), WMWriteRawData::connectors(), WMWriteTracts::connectors(), WMWriteTransferFunction::connectors(), and initialize().

+ Here is the caller graph for this function:

◆ debugLog()

wlog::WStreamedLogger WModule::debugLog ( ) const
protected

Logger instance for comfortable debug logging.

Simply use logDebug() << "my debug".

Returns
the logger stream.

Definition at line 575 of file WModule.cpp.

References wlog::debug(), and WPrototyped::getName().

Referenced by WMTemplate::activate(), WMTemplateUI::cameraPresetCallback(), WMWebglSupport::colorTriMeshRGB(), WMVoxelizer::constructGrid(), WMFiberDisplay::createFiberGeode(), WMScalarSegmentation::doSegmentation(), WMVoxelizer::generateDatasets(), WMIsosurface::generateSurfacePre(), WMTemplateUI::handleButtonRelease(), WMPointConnector::handleInput(), WMTemplateUI::handleMouseDrag(), WMTemplateUI::handleMouseMove(), WMTemplateUI::handleResize(), WMSuperquadricGlyphs::initOSG(), WMDiffTensorScalars::initSubModules(), WMData::load(), WMClusterDisplayVoxels::loadClustering(), WMFiberTranslator::loadExploreDTIFibers(), WMClusterDisplay::loadTreeAscii(), WMData::matrixUpdate(), WMFiberTranslator::mergeFibers(), WMFiberTranslator::mergeFibersNrrd(), WMAnisotropicFiltering::moduleMain(), WMApplyMask::moduleMain(), WMCalculateGFA::moduleMain(), WMCalculateHistogram::moduleMain(), WMCalculateTensors::moduleMain(), WMColormapper::moduleMain(), WMWriteNIfTI::moduleMain(), WMDataCreatorFibers::moduleMain(), WMDataCreatorPoints::moduleMain(), WMDataCreatorScalar::moduleMain(), WMDataCreatorVector::moduleMain(), WMDataTypeConversion::moduleMain(), WMDeterministicFTMori::moduleMain(), WMDiffTensorScalars::moduleMain(), WMDirectVolumeRendering::moduleMain(), WMDistanceMap::moduleMain(), WMEEGView::moduleMain(), WMFiberDisplay::moduleMain(), WMFiberFilterIndex::moduleMain(), WMFiberFilterROI::moduleMain(), WMFiberParameterColoring::moduleMain(), WMFiberResampling::moduleMain(), WMFiberSelection::moduleMain(), WMFibersToPoints::moduleMain(), WMFunctionalMRIViewer::moduleMain(), WMGaussFiltering::moduleMain(), WMGridRenderer::moduleMain(), WMHARDIToSphericalHarmonics::moduleMain(), WMHistogramEqualization::moduleMain(), WMHistogramView::moduleMain(), WMMultiHistogramView::moduleMain(), WMImageExtractor::moduleMain(), WMImageSpaceLIC::moduleMain(), WMImageSpaceTensorLIC::moduleMain(), WMIsosurface::moduleMain(), WMIsosurfaceRaytracer::moduleMain(), WMMergeComponentsToVector::moduleMain(), WMMergePoints::moduleMain(), WMMeshToPoints::moduleMain(), WMNavigationSlices::moduleMain(), WMOpenIGTLinkSender::moduleMain(), WMPaintTexture::moduleMain(), WMPickingDVR::moduleMain(), WMPickingDVREvaluation::moduleMain(), WMPointConnector::moduleMain(), WMPointRenderer::moduleMain(), WMProbTractDisplay::moduleMain(), WMProjectionsAsContext::moduleMain(), WMReadRawData::moduleMain(), WMReadVCL::moduleMain(), WMResampleRegular::moduleMain(), WMSampleOnFibers::moduleMain(), WMScalarOperator::moduleMain(), WMSpatialDerivative::moduleMain(), WMSplineSurface::moduleMain(), WMSuperquadricGlyphs::moduleMain(), WMSurfaceIllustrator::moduleMain(), WMSurfaceParameterAnimator::moduleMain(), WMTeemGlyphs::moduleMain(), WMTemplate::moduleMain(), WMTemplateColormapping::moduleMain(), WMTemplateContainers::moduleMain(), WMTemplateDataLoader::moduleMain(), WMTemplateRenderPipelines::moduleMain(), WMTemplateShaders::moduleMain(), WMTemplateUI::moduleMain(), WMTransferFunction1D::moduleMain(), WMTransferFunctionColorBar::moduleMain(), WMTriangleMeshRenderer::moduleMain(), WMVectorNormalize::moduleMain(), WMVectorOperator::moduleMain(), WMVectorPlot::moduleMain(), WMVectorScale::moduleMain(), WMWebglSupport::moduleMain(), WMWriteField::moduleMain(), WMWriteMesh::moduleMain(), WMWriteCSV::moduleMain(), WMWriteRawData::moduleMain(), WMWriteTracts::moduleMain(), WMEEGView::openCustomWidget(), WMReadVCL::readData(), WMClusterDisplay::readFile(), WMEEGView::redraw(), WMSurfaceIllustrator::renderMesh(), WMTriangleMeshRenderer::renderMesh(), WMTeemGlyphs::renderSlice(), WMDeterministicFTMori::resetEigenFunction(), WMEigenSystem::resetEigenFunction(), WMDeterministicFTMori::resetTracking(), WMWriteTracts::savePOVRay(), WMWebglSupport::saveSlicesGray(), WMDatasetManipulator::transformData(), and WMWriteAmiraMesh::writeFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deprecated()

std::string WModule::deprecated ( ) const
protectedvirtual

This function allows module programmers to mark their modules deprecated in a user-friendly way.

If you implement this function, you need to specify an text which should mention an alternative module.

Note
do not add sentences like "this module is deprecated" or similar, since the GUI the user is using already shows this message. The message should say WHY it is deprecated and what alternative module is available.
Returns
deprecation message

Definition at line 224 of file WModule.cpp.

Referenced by getDeprecationMessage(), and isDeprecated().

+ Here is the caller graph for this function:

◆ disconnect()

void WModule::disconnect ( )

Completely disconnects all connected connectors of this module.

This is useful to isolate a module (for deletion, removal from a container and so on.)

Definition at line 146 of file WModule.cpp.

References m_inputConnectors, and m_outputConnectors.

Referenced by onThreadException(), removeConnectors(), and threadMain().

+ Here is the caller graph for this function:

◆ errorLog()

wlog::WStreamedLogger WModule::errorLog ( ) const
protected

◆ factory()

virtual std::shared_ptr< WModule > WModule::factory ( ) const
pure virtual

Due to the prototype design pattern used to build modules, this method returns a new instance of this module.

NOTE: it should never be initialized or modified in some other way.

Returns
the prototype used to create every module in OpenWalnut.

Implemented in WMWriteTransferFunction, WMWriteTracts, WMWriteRawData, WMWriteCSV, WMWriteMesh, WMWriteField, WMWriteDendrogram, WMWriteAmiraMesh, WMWebglSupport, WMVoxelizer, WMVectorScale, WMVectorPlot, WMVectorOperator, WMVectorNormalize, WMVectorAlign, WMTriangleMeshRenderer, WMTransferFunctionColorBar, WMTransferFunction1D, WMTemplateUI, WMTemplateShaders, WMTemplateRenderPipelines, WMTemplateDataLoader, WMTemplateContainers, WMTemplateColormapping, WMTemplate, WMTeemGlyphs, WMSurfaceParameterAnimator, WMSurfaceIllustrator, WMSuperquadricGlyphs, WMSplineSurface, WMSpatialDerivative, WMScalarSegmentation, WMScalarOperator, WMSampleOnFibers, WMResampleRegular, WMReadVIM, WMReadVCL, WMReadSimpleTextLineData, WMReadRawData, WMReadMesh, WMReadLAS, WMReadDipoles, WMReadAmiraMesh, WMProjectionsAsContext, WMProbTractDisplay, WMPointRenderer, WMPointConnector, WMPickingDVREvaluation, WMPickingDVR, WMPaintTexture, WMOpenIGTLinkSender, WMNavigationSlices, WMMeshToPoints, WMMergePoints, WMMergeComponentsToVector, WMIsosurfaceRaytracer, WMIsosurface, WMImageSpaceTensorLIC, WMImageSpaceLIC, WMImageExtractor, WMMultiHistogramView, WMHistogramView, WMHistogramEqualization, WMPartition2Mesh, WMHierchClustDisplay, WMHARDIToSphericalHarmonics, WMGridRenderer, WMGaussFiltering, WMFunctionalMRIViewer, WMFilterProtonData, WMFiberTranslator, WMFiberTransform, WMFibersToPoints, WMFiberSelection, WMFiberResampling, WMFiberParameterColoring, WMFiberFilterROI, WMFiberFilterIndex, WMFiberDisplay, WMEigenSystem, WMEffectiveConnectivityCluster, WMEEGView, WMDistanceMapIsosurface, WMDistanceMap, WMDirectVolumeRendering, WMDiffTensorScalars, WMDeterministicFTMori, WMDataTypeConversion, WMDatasetProfile, WMDatasetManipulator, WMDataCreatorVector, WMDataCreatorScalar, WMDataCreatorPoints, WMDataCreatorFibers, WMWriteNIfTI, WMReadSphericalHarmonics, WMData, WMCoordinateSystem, WMColormapper, WMClusterDisplayVoxels, WMClusterDisplay, WMCalculateTensors, WMCalculateHistogram, WMCalculateGFA, WMButterfly, WMArbitraryROIs, WMArbitraryPlane, WMApplyMask, WMAnisotropicFiltering, WModuleContainer, and WModuleImpl.

◆ findByUUID()

WModule::SPtr WModule::findByUUID ( std::string  uuid)
static

Find a module instance by UUID.

Parameters
uuidthe uuid to search for.
Returns
the module, or NULL if not found

Definition at line 669 of file WModule.cpp.

References WModuleFactory::findByUUID().

+ Here is the call graph for this function:

◆ findConnector()

std::shared_ptr< WModuleConnector > WModule::findConnector ( std::string  name)

Finds the named connector for the module.

This searches for inputs and outputs. This is similar to getConnector but it does not throw an exception if the connector could not be found.

Parameters
namethe name. This can be a canonical name or the connector name.
Returns
the connector or NULL if not found.

Definition at line 356 of file WModule.cpp.

References findInputConnector(), and findOutputConnector().

Referenced by getConnector().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findInputConnector()

std::shared_ptr< WModuleInputConnector > WModule::findInputConnector ( std::string  name)

Finds the named connector for the module.

This is similar to getInputConnector but it does not throw an exception if the connector could not be found.

Parameters
namethe name. This can be a canonical name or the connector name.
Returns
the connector or NULL if not found

Definition at line 297 of file WModule.cpp.

References m_inputConnectors.

Referenced by findConnector(), and getInputConnector().

+ Here is the caller graph for this function:

◆ findOutputConnector()

std::shared_ptr< WModuleOutputConnector > WModule::findOutputConnector ( std::string  name)

Finds the named connector for the module.

This is similar to getOutputConnector but it does not throw an exception if the connector could not be found.

Parameters
namethe name. This can be a canonical name or the connector name.
Returns
the connector or NULL if not found.

Definition at line 326 of file WModule.cpp.

References m_outputConnectors.

Referenced by findConnector(), and getOutputConnector().

+ Here is the caller graph for this function:

◆ getAssociatedContainer()

std::shared_ptr< WModuleContainer > WModule::getAssociatedContainer ( ) const

The container this module is associated with.

Returns
the container.

Definition at line 268 of file WModule.cpp.

References m_container.

◆ getConnector()

std::shared_ptr< WModuleConnector > WModule::getConnector ( std::string  name)

Finds the named connector for the module.

This searches for inputs and outputs.

Parameters
namethe name. This can be a canonical name or the connector name.
Returns
the connector.
Exceptions
WModuleConnectorNotFoundthrown whenever the module does not provide the specified connector.

Definition at line 369 of file WModule.cpp.

References findConnector(), and WPrototyped::getName().

+ Here is the call graph for this function:

◆ getDeprecationMessage()

std::string WModule::getDeprecationMessage ( ) const

Queries the deprecation message of a module if specified.

If not specified, an empty string is returned. Check isDeprecated first.

Returns
deprecation message

Definition at line 620 of file WModule.cpp.

References deprecated().

+ Here is the call graph for this function:

◆ getInformationProperties()

std::shared_ptr< WProperties > WModule::getInformationProperties ( ) const

Return a pointer to the information properties object of the module.

The module intends these properties to not be modified.

Returns
the properties.

Definition at line 483 of file WModule.cpp.

References m_infoProperties.

◆ getInputConnector()

std::shared_ptr< WModuleInputConnector > WModule::getInputConnector ( std::string  name)

Finds the named connector for the module.

Parameters
namethe name. This can be a canonical name or the connector name.
Returns
the connector.
Exceptions
WModuleConnectorNotFoundthrown whenever the module does not provide the specified connector.

Definition at line 313 of file WModule.cpp.

References findInputConnector(), and WPrototyped::getName().

+ Here is the call graph for this function:

◆ getInputConnectors()

const WModule::InputConnectorList & WModule::getInputConnectors ( ) const

Gives back input connectors.

Returns
the input connectors.

Definition at line 287 of file WModule.cpp.

References m_inputConnectors.

◆ getLibPath()

boost::filesystem::path WModule::getLibPath ( ) const

Returns the absolute path to the library containing this module.

Returns
the path.

Definition at line 600 of file WModule.cpp.

References m_libPath.

◆ getLocalPath()

boost::filesystem::path WModule::getLocalPath ( ) const

Returns the local path of the module.

Whenever you try to load local resources, use this path. It is especially useful for shader loading.

Returns
the local module path.

Definition at line 590 of file WModule.cpp.

References m_localPath.

◆ getMetaInformation()

WModuleMetaInformation::ConstSPtr WModule::getMetaInformation ( ) const
virtual

The meta information of this module.

This contains several information like name, description, icons, help links and so on. It, at least, contains the name.

Returns
the meta info object for this module.

Definition at line 229 of file WModule.cpp.

References m_meta.

Referenced by WMFilterProtonData::moduleMain(), WMTemplate::moduleMain(), WMTemplateShaders::moduleMain(), and WMTemplateUI::moduleMain().

+ Here is the caller graph for this function:

◆ getOutputConnector()

std::shared_ptr< WModuleOutputConnector > WModule::getOutputConnector ( std::string  name)

Finds the named connector for the module.

Parameters
namethe name. This can be a canonical name or the connector name.
Returns
the connector.
Exceptions
WModuleConnectorNotFoundthrown whenever the module does not provide the specified connector.

Definition at line 342 of file WModule.cpp.

References findOutputConnector(), and WPrototyped::getName().

+ Here is the call graph for this function:

◆ getOutputConnectors()

const WModule::OutputConnectorList & WModule::getOutputConnectors ( ) const

Gives back output connectors.

Returns
the output connectors.

Definition at line 292 of file WModule.cpp.

References m_outputConnectors.

◆ getPackageName()

std::string WModule::getPackageName ( ) const

Returns the name of the package the module belongs to, The package name basically is the name of the library containing this and maybe other modules.

Your build system manages this. The package name is used to identify the resources for the modules in the library (a.k.a package).

Returns
the name

Definition at line 610 of file WModule.cpp.

References m_packageName.

◆ getPossibleDisconnections()

WCombinerTypes::WDisconnectList WModule::getPossibleDisconnections ( )

Gives a list of all WDisconnectCombiners possible.

Please note that while the list exists, connections might change.

Returns
the list of possible disconnect operations

Definition at line 161 of file WModule.cpp.

References m_inputConnectors, and m_outputConnectors.

◆ getProperties()

std::shared_ptr< WProperties > WModule::getProperties ( ) const

Return a pointer to the properties object of the module.

Returns
the properties.

Definition at line 478 of file WModule.cpp.

References m_properties.

◆ getRootProgressCombiner()

std::shared_ptr< WProgressCombiner > WModule::getRootProgressCombiner ( )
virtual

Gets the modules base progress.

This is actually a progress combiner, which bundles all progresses.

Returns
the progress combiner for this module.

Definition at line 488 of file WModule.cpp.

References m_progress.

◆ getRuntimeName()

WPropString WModule::getRuntimeName ( ) const

Returns the name the user has given this module.

Returns
the runtime name.

Definition at line 674 of file WModule.cpp.

References m_runtimeName.

◆ getSignalHandler()

const t_GenericSignalHandlerType WModule::getSignalHandler ( MODULE_CONNECTOR_SIGNAL  signal)
protectedvirtual

Gives the signal handler function responsible for a given signal.

Modules defining own signal handlers should overwrite this function. This function is protected since boost::functions are callable, which is what is not wanted here. Just signals should call them.

Parameters
signalthe signal to get the handler for.
Returns
the signal handler for "signal".

Definition at line 411 of file WModule.cpp.

References notifyConnectionClosed(), notifyConnectionEstablished(), and notifyDataChange().

+ Here is the call graph for this function:

◆ getType()

MODULE_TYPE WModule::getType ( ) const
virtual

Gets the type of the module.

This is useful for FAST differentiation between several modules like standard modules and data modules which play a special role in OpenWalnut/Kernel.

Returns
the Type. If you do not overwrite this method, it will return MODULE_ARBITRARY.

Reimplemented in WDataModule.

Definition at line 282 of file WModule.cpp.

◆ getUUID()

const std::string & WModule::getUUID ( ) const

Get the UUID of the module instance.

Use this when you need to guarantee a unique instance name, even across multiple OW sessions. The UUID gets set by the initialize method once and can never be changed.

Returns
the UUID as string.

Definition at line 651 of file WModule.cpp.

References m_uuid.

◆ getXPMIcon()

const char ** WModule::getXPMIcon ( ) const
virtual

Get the icon for this module in XPM format.

Returns
The icon.

Reimplemented in WMWriteTransferFunction, WMWriteTracts, WMWriteRawData, WMWriteCSV, WMWriteMesh, WMWriteDendrogram, WMWebglSupport, WMVectorPlot, WMVectorOperator, WMVectorAlign, WMTriangleMeshRenderer, WMTransferFunctionColorBar, WMTransferFunction1D, WMTemplate, WMTeemGlyphs, WMSurfaceParameterAnimator, WMSurfaceIllustrator, WMSuperquadricGlyphs, WMSplineSurface, WMSpatialDerivative, WMScalarSegmentation, WMScalarOperator, WMSampleOnFibers, WMReadRawData, WMReadMesh, WMReadDipoles, WMReadAmiraMesh, WMProbTractDisplay, WMPointRenderer, WMPointConnector, WMPaintTexture, WMOpenIGTLinkSender, WMNavigationSlices, WMMeshToPoints, WMMergePoints, WMIsosurfaceRaytracer, WMIsosurface, WMImageExtractor, WMMultiHistogramView, WMHistogramView, WMHistogramEqualization, WMHARDIToSphericalHarmonics, WMGridRenderer, WMGaussFiltering, WMFunctionalMRIViewer, WMFilterProtonData, WMFiberTranslator, WMFiberTransform, WMFibersToPoints, WMFiberSelection, WMFiberResampling, WMFiberParameterColoring, WMEigenSystem, WMEffectiveConnectivityCluster, WMEEGView, WMDistanceMapIsosurface, WMDistanceMap, WMDirectVolumeRendering, WMDeterministicFTMori, WMDataTypeConversion, WMDatasetProfile, WMDatasetManipulator, WMDataCreatorVector, WMDataCreatorScalar, WMDataCreatorPoints, WMDataCreatorFibers, WMWriteNIfTI, WMReadSphericalHarmonics, WMData, WMCoordinateSystem, WMColormapper, WMClusterDisplayVoxels, WMClusterDisplay, WMCalculateTensors, WMCalculateHistogram, WMCalculateGFA, WMButterfly, WMArbitraryROIs, WMArbitraryPlane, WMApplyMask, and WMAnisotropicFiltering.

Definition at line 493 of file WModule.cpp.

◆ infoLog()

wlog::WStreamedLogger WModule::infoLog ( ) const
protected

◆ initialize()

void WModule::initialize ( )
protected

Manages initialization.

Gets called by module container and ensures all properties, requirements, and connectors are properly set up.

Exceptions
WModuleConnectorInitFailedif called multiple times.

Definition at line 234 of file WModule.cpp.

References connectors(), WPrototyped::getName(), isInitialized(), m_initialized, m_isAssociated, m_isUsable, m_meta, m_runtimeName, properties(), requirements(), and WThreadedRunner::setThreadName().

+ Here is the call graph for this function:

◆ isAssociated()

const WBoolFlag & WModule::isAssociated ( ) const

Checks whether this module is associated with an container.

Returns
true if associated.

Definition at line 434 of file WModule.cpp.

References m_isAssociated.

◆ isDeprecated()

bool WModule::isDeprecated ( ) const

Checks whether the module was marked as deprecated.

Returns
true if deprecated

Definition at line 615 of file WModule.cpp.

References deprecated().

+ Here is the call graph for this function:

◆ isInitialized()

const WBoolFlag & WModule::isInitialized ( ) const

Determines whether the module instance is properly initialized.

Returns
true if properly initialized.

Definition at line 429 of file WModule.cpp.

References m_initialized.

Referenced by initialize().

+ Here is the caller graph for this function:

◆ isReady()

const WBoolFlag & WModule::isReady ( ) const

Checks whether this module is ready.

Returns
true if ready.

Definition at line 445 of file WModule.cpp.

References m_isReady.

◆ isReadyOrCrashed()

const WBoolFlag & WModule::isReadyOrCrashed ( ) const

This is the logical or of isReady and isCrashed.

You should use this condition if you need to wait for a module to get ready. If it crashed before ready() got called, you most probably would wait endlessly.

Returns
isReady || isCrashed.

Definition at line 450 of file WModule.cpp.

References m_isReadyOrCrashed.

◆ isRestoreNeeded()

bool WModule::isRestoreNeeded ( ) const

Check whether this module is in restore mode.

This means that some loader is currently handling the module. You are allowed to ignore this flag. But be aware that the loader can set connections and properties even if you do not expect this.

Returns
true if the module is currently being restored.

Definition at line 636 of file WModule.cpp.

References m_restoreMode.

◆ isRunning()

const WBoolFlag & WModule::isRunning ( ) const

Returns a flag denoting whether the thread currently is running or nor.

It is also useful to get a callback whenever a module stops.

Returns
the flag

Definition at line 455 of file WModule.cpp.

References m_isRunning.

◆ isUseable()

const WBoolFlag & WModule::isUseable ( ) const

Checks whether the module instance is ready to be used.

This is the case if isInitialized && isAssociated.

Returns
isInitialized && isAssociated

Definition at line 439 of file WModule.cpp.

References m_isUsable.

◆ moduleMain()

virtual void WModule::moduleMain ( )
protectedpure virtual

Entry point after loading the module.

Runs in separate thread.

Implemented in WMWriteTransferFunction, WMWriteTracts, WMWriteRawData, WMWriteCSV, WMWriteMesh, WMWriteField, WMWriteDendrogram, WMWriteAmiraMesh, WMWebglSupport, WMVoxelizer, WMVectorScale, WMVectorPlot, WMVectorOperator, WMVectorNormalize, WMVectorAlign, WMTriangleMeshRenderer, WMTransferFunctionColorBar, WMTransferFunction1D, WMTemplateUI, WMTemplateShaders, WMTemplateRenderPipelines, WMTemplateDataLoader, WMTemplateContainers, WMTemplateColormapping, WMTemplate, WMTeemGlyphs, WMSurfaceParameterAnimator, WMSurfaceIllustrator, WMSuperquadricGlyphs, WMSplineSurface, WMSpatialDerivative, WMScalarSegmentation, WMScalarOperator, WMSampleOnFibers, WMResampleRegular, WMReadVIM, WMReadVCL, WMReadSimpleTextLineData, WMReadRawData, WMReadMesh, WMReadLAS, WMReadDipoles, WMReadAmiraMesh, WMProjectionsAsContext, WMProbTractDisplay, WMPointRenderer, WMPointConnector, WMPickingDVREvaluation, WMPickingDVR, WMPaintTexture, WMOpenIGTLinkSender, WMNavigationSlices, WMMeshToPoints, WMMergePoints, WMMergeComponentsToVector, WMIsosurfaceRaytracer, WMIsosurface, WMImageSpaceTensorLIC, WMImageSpaceLIC, WMImageExtractor, WMMultiHistogramView, WMHistogramView, WMHistogramEqualization, WMPartition2Mesh, WMHierchClustDisplay, WMHARDIToSphericalHarmonics, WMGridRenderer, WMGaussFiltering, WMFunctionalMRIViewer, WMFilterProtonData, WMFiberTranslator, WMFiberTransform, WMFibersToPoints, WMFiberSelection, WMFiberResampling, WMFiberParameterColoring, WMFiberFilterROI, WMFiberFilterIndex, WMFiberDisplay, WMEigenSystem, WMEffectiveConnectivityCluster, WMEEGView, WMDistanceMapIsosurface, WMDistanceMap, WMDirectVolumeRendering, WMDiffTensorScalars, WMDeterministicFTMori, WMDataTypeConversion, WMDatasetProfile, WMDatasetManipulator, WMDataCreatorVector, WMDataCreatorScalar, WMDataCreatorPoints, WMDataCreatorFibers, WMWriteNIfTI, WMReadSphericalHarmonics, WMData, WMCoordinateSystem, WMColormapper, WMClusterDisplayVoxels, WMClusterDisplay, WMCalculateTensors, WMCalculateHistogram, WMCalculateGFA, WMButterfly, WMArbitraryROIs, WMArbitraryPlane, WMApplyMask, WMAnisotropicFiltering, WModuleContainer, and WModuleImpl.

Referenced by threadMain().

+ Here is the caller graph for this function:

◆ notifyConnectionClosed()

void WModule::notifyConnectionClosed ( std::shared_ptr< WModuleConnector here,
std::shared_ptr< WModuleConnector there 
)
protectedvirtual

Gets called whenever a connection between a remote and local connector gets closed.

Parameters
herethe connector of THIS module getting disconnected.
therethe connector of the other module getting disconnected.

Reimplemented in WModuleImpl.

Definition at line 466 of file WModule.cpp.

Referenced by getSignalHandler().

+ Here is the caller graph for this function:

◆ notifyConnectionEstablished()

void WModule::notifyConnectionEstablished ( std::shared_ptr< WModuleConnector here,
std::shared_ptr< WModuleConnector there 
)
protectedvirtual

Gets called whenever a connector gets connected to the specified input.

Parameters
herethe connector of THIS module that got connected to "there"
therethe connector that has been connected with the connector "here" of this module.

Reimplemented in WMEEGView, and WModuleImpl.

Definition at line 460 of file WModule.cpp.

Referenced by getSignalHandler().

+ Here is the caller graph for this function:

◆ notifyDataChange()

void WModule::notifyDataChange ( std::shared_ptr< WModuleConnector input,
std::shared_ptr< WModuleConnector output 
)
protectedvirtual

Gets called when the data on one input connector changed.

Parameters
inputthe input connector receiving the change.
outputthe output connector sending the change notification.

Reimplemented in WMEEGView, and WModuleImpl.

Definition at line 472 of file WModule.cpp.

Referenced by getSignalHandler().

+ Here is the caller graph for this function:

◆ onThreadException()

void WModule::onThreadException ( const WException e)
protectedvirtual

This method is called if an exception was caught, which came from the custom thread code.

This method is virtual and allows you to overwrite the default behaviour. If you overwrite this method, you should call WThreadedRunner::handleDeadlyException or WThreadedRunner::onThreadException if you are finished with your customized code.

Parameters
ethe exception that was caught.

Reimplemented from WThreadedRunner.

Definition at line 550 of file WModule.cpp.

References disconnect(), WPrototyped::getName(), WThreadedRunner::handleDeadlyException(), m_isRunning, and signal_error.

+ Here is the call graph for this function:

◆ properties()

void WModule::properties ( )
protectedvirtual

Initialize properties in this function.

This function must not be called multiple times for one module instance. The module container manages calling those functions -> so just implement it. Once initialized the number and type of all properties should be set.

Reimplemented in WMWriteTransferFunction, WMWriteTracts, WMWriteRawData, WMWriteCSV, WMWriteMesh, WMWriteField, WMWriteDendrogram, WMWriteAmiraMesh, WMWebglSupport, WMVoxelizer, WMVectorScale, WMVectorPlot, WMVectorOperator, WMVectorNormalize, WMVectorAlign, WMTriangleMeshRenderer, WMTransferFunctionColorBar, WMTransferFunction1D, WMTemplateUI, WMTemplateShaders, WMTemplateRenderPipelines, WMTemplateDataLoader, WMTemplateContainers, WMTemplateColormapping, WMTemplate, WMTeemGlyphs, WMSurfaceParameterAnimator, WMSurfaceIllustrator, WMSuperquadricGlyphs, WMSplineSurface, WMSpatialDerivative, WMScalarSegmentation, WMScalarOperator, WMSampleOnFibers, WMResampleRegular, WMReadVCL, WMReadRawData, WMReadMesh, WMReadLAS, WMReadDipoles, WMReadAmiraMesh, WMProjectionsAsContext, WMProbTractDisplay, WMPointRenderer, WMPointConnector, WMPickingDVREvaluation, WMPickingDVR, WMPaintTexture, WMOpenIGTLinkSender, WMNavigationSlices, WMMeshToPoints, WMMergePoints, WMMergeComponentsToVector, WMIsosurfaceRaytracer, WMIsosurface, WMImageSpaceTensorLIC, WMImageSpaceLIC, WMImageExtractor, WMMultiHistogramView, WMHistogramView, WMHistogramEqualization, WMPartition2Mesh, WMHierchClustDisplay, WMHARDIToSphericalHarmonics, WMGridRenderer, WMGaussFiltering, WMFunctionalMRIViewer, WMFilterProtonData, WMFiberTranslator, WMFiberTransform, WMFibersToPoints, WMFiberSelection, WMFiberResampling, WMFiberParameterColoring, WMFiberFilterROI, WMFiberFilterIndex, WMFiberDisplay, WMEigenSystem, WMEffectiveConnectivityCluster, WMEEGView, WMDistanceMap, WMDirectVolumeRendering, WMDiffTensorScalars, WMDeterministicFTMori, WMDataTypeConversion, WMDatasetProfile, WMDatasetManipulator, WMDataCreatorVector, WMDataCreatorScalar, WMDataCreatorPoints, WMDataCreatorFibers, WMWriteNIfTI, WMReadSphericalHarmonics, WMData, WMCoordinateSystem, WMColormapper, WMClusterDisplayVoxels, WMClusterDisplay, WMCalculateTensors, WMCalculateHistogram, WMCalculateGFA, WMButterfly, WMArbitraryROIs, WMArbitraryPlane, WMApplyMask, and WMAnisotropicFiltering.

Definition at line 212 of file WModule.cpp.

Referenced by initialize(), WMAnisotropicFiltering::properties(), WMApplyMask::properties(), WMArbitraryPlane::properties(), WMArbitraryROIs::properties(), WMButterfly::properties(), WMCalculateGFA::properties(), WMCalculateHistogram::properties(), WMCalculateTensors::properties(), WMClusterDisplay::properties(), WMClusterDisplayVoxels::properties(), WMColormapper::properties(), WMCoordinateSystem::properties(), WMData::properties(), WMReadSphericalHarmonics::properties(), WMWriteNIfTI::properties(), WMDataCreatorFibers::properties(), WMDataCreatorPoints::properties(), WMDataCreatorScalar::properties(), WMDataCreatorVector::properties(), WMDatasetManipulator::properties(), WMDatasetProfile::properties(), WMDataTypeConversion::properties(), WMDeterministicFTMori::properties(), WMDiffTensorScalars::properties(), WMDirectVolumeRendering::properties(), WMDistanceMap::properties(), WMEEGView::properties(), WMEffectiveConnectivityCluster::properties(), WMEigenSystem::properties(), WMFiberDisplay::properties(), WMFiberFilterIndex::properties(), WMFiberFilterROI::properties(), WMFiberParameterColoring::properties(), WMFiberResampling::properties(), WMFiberSelection::properties(), WMFibersToPoints::properties(), WMFiberTransform::properties(), WMFiberTranslator::properties(), WMFilterProtonData::properties(), WMFunctionalMRIViewer::properties(), WMGaussFiltering::properties(), WMGridRenderer::properties(), WMHierchClustDisplay::properties(), WMPartition2Mesh::properties(), WMHistogramEqualization::properties(), WMHistogramView::properties(), WMMultiHistogramView::properties(), WMImageExtractor::properties(), WMImageSpaceLIC::properties(), WMImageSpaceTensorLIC::properties(), WMIsosurface::properties(), WMIsosurfaceRaytracer::properties(), WMMergeComponentsToVector::properties(), WMMergePoints::properties(), WMMeshToPoints::properties(), WMNavigationSlices::properties(), WMOpenIGTLinkSender::properties(), WMPaintTexture::properties(), WMPickingDVR::properties(), WMPickingDVREvaluation::properties(), WMPointConnector::properties(), WMPointRenderer::properties(), WMProbTractDisplay::properties(), WMProjectionsAsContext::properties(), WMReadAmiraMesh::properties(), WMReadDipoles::properties(), WMReadLAS::properties(), WMReadMesh::properties(), WMReadRawData::properties(), WMReadVCL::properties(), WMResampleRegular::properties(), WMSampleOnFibers::properties(), WMScalarOperator::properties(), WMScalarSegmentation::properties(), WMSpatialDerivative::properties(), WMSplineSurface::properties(), WMSurfaceIllustrator::properties(), WMSurfaceParameterAnimator::properties(), WMTeemGlyphs::properties(), WMTemplate::properties(), WMTemplateColormapping::properties(), WMTemplateContainers::properties(), WMTemplateDataLoader::properties(), WMTemplateRenderPipelines::properties(), WMTemplateShaders::properties(), WMTemplateUI::properties(), WMTransferFunction1D::properties(), WMTransferFunctionColorBar::properties(), WMTriangleMeshRenderer::properties(), WMVectorAlign::properties(), WMVectorNormalize::properties(), WMVectorOperator::properties(), WMVectorPlot::properties(), WMVectorScale::properties(), WMVoxelizer::properties(), WMWebglSupport::properties(), WMWriteAmiraMesh::properties(), WMWriteDendrogram::properties(), WMWriteField::properties(), WMWriteMesh::properties(), WMWriteCSV::properties(), WMWriteRawData::properties(), WMWriteTracts::properties(), and WMWriteTransferFunction::properties().

+ Here is the caller graph for this function:

◆ ready()

void WModule::ready ( )
protected

Call this whenever your module is ready and can react on property changes.

Definition at line 505 of file WModule.cpp.

References m_isReady, m_readyProgress, and signal_ready.

Referenced by WModuleContainer::moduleMain(), WMAnisotropicFiltering::moduleMain(), WMApplyMask::moduleMain(), WMArbitraryPlane::moduleMain(), WMArbitraryROIs::moduleMain(), WMButterfly::moduleMain(), WMCalculateGFA::moduleMain(), WMCalculateHistogram::moduleMain(), WMCalculateTensors::moduleMain(), WMClusterDisplay::moduleMain(), WMClusterDisplayVoxels::moduleMain(), WMColormapper::moduleMain(), WMCoordinateSystem::moduleMain(), WMData::moduleMain(), WMReadSphericalHarmonics::moduleMain(), WMWriteNIfTI::moduleMain(), WMDataCreatorFibers::moduleMain(), WMDataCreatorPoints::moduleMain(), WMDataCreatorScalar::moduleMain(), WMDataCreatorVector::moduleMain(), WMDatasetManipulator::moduleMain(), WMDatasetProfile::moduleMain(), WMDataTypeConversion::moduleMain(), WMDeterministicFTMori::moduleMain(), WMDiffTensorScalars::moduleMain(), WMDirectVolumeRendering::moduleMain(), WMDistanceMap::moduleMain(), WMDistanceMapIsosurface::moduleMain(), WMEEGView::moduleMain(), WMEffectiveConnectivityCluster::moduleMain(), WMEigenSystem::moduleMain(), WMFiberDisplay::moduleMain(), WMFiberFilterIndex::moduleMain(), WMFiberFilterROI::moduleMain(), WMFiberParameterColoring::moduleMain(), WMFiberResampling::moduleMain(), WMFiberSelection::moduleMain(), WMFibersToPoints::moduleMain(), WMFiberTransform::moduleMain(), WMFiberTranslator::moduleMain(), WMFilterProtonData::moduleMain(), WMFunctionalMRIViewer::moduleMain(), WMGaussFiltering::moduleMain(), WMGridRenderer::moduleMain(), WMHARDIToSphericalHarmonics::moduleMain(), WMHierchClustDisplay::moduleMain(), WMPartition2Mesh::moduleMain(), WMHistogramEqualization::moduleMain(), WMHistogramView::moduleMain(), WMMultiHistogramView::moduleMain(), WMImageExtractor::moduleMain(), WMImageSpaceLIC::moduleMain(), WMImageSpaceTensorLIC::moduleMain(), WMIsosurface::moduleMain(), WMIsosurfaceRaytracer::moduleMain(), WMMergeComponentsToVector::moduleMain(), WMMergePoints::moduleMain(), WMMeshToPoints::moduleMain(), WMNavigationSlices::moduleMain(), WMOpenIGTLinkSender::moduleMain(), WMPaintTexture::moduleMain(), WMPickingDVR::moduleMain(), WMPickingDVREvaluation::moduleMain(), WMPointConnector::moduleMain(), WMPointRenderer::moduleMain(), WMProbTractDisplay::moduleMain(), WMProjectionsAsContext::moduleMain(), WMReadAmiraMesh::moduleMain(), WMReadDipoles::moduleMain(), WMReadLAS::moduleMain(), WMReadMesh::moduleMain(), WMReadRawData::moduleMain(), WMReadSimpleTextLineData::moduleMain(), WMReadVCL::moduleMain(), WMReadVIM::moduleMain(), WMResampleRegular::moduleMain(), WMSampleOnFibers::moduleMain(), WMScalarOperator::moduleMain(), WMScalarSegmentation::moduleMain(), WMSpatialDerivative::moduleMain(), WMSplineSurface::moduleMain(), WMSuperquadricGlyphs::moduleMain(), WMSurfaceIllustrator::moduleMain(), WMSurfaceParameterAnimator::moduleMain(), WMTeemGlyphs::moduleMain(), WMTemplate::moduleMain(), WMTemplateColormapping::moduleMain(), WMTemplateContainers::moduleMain(), WMTemplateDataLoader::moduleMain(), WMTemplateRenderPipelines::moduleMain(), WMTemplateShaders::moduleMain(), WMTemplateUI::moduleMain(), WMTransferFunction1D::moduleMain(), WMTransferFunctionColorBar::moduleMain(), WMTriangleMeshRenderer::moduleMain(), WMVectorAlign::moduleMain(), WMVectorNormalize::moduleMain(), WMVectorOperator::moduleMain(), WMVectorPlot::moduleMain(), WMVectorScale::moduleMain(), WMVoxelizer::moduleMain(), WMWebglSupport::moduleMain(), WMWriteAmiraMesh::moduleMain(), WMWriteDendrogram::moduleMain(), WMWriteField::moduleMain(), WMWriteMesh::moduleMain(), WMWriteCSV::moduleMain(), WMWriteRawData::moduleMain(), WMWriteTracts::moduleMain(), and WMWriteTransferFunction::moduleMain().

+ Here is the caller graph for this function:

◆ removeConnectors()

void WModule::removeConnectors ( )
protected

◆ reportRestoreComplete()

void WModule::reportRestoreComplete ( )

Called by loaders to tell the module that loading has been completed.

Definition at line 646 of file WModule.cpp.

References m_isLoadFinished, and WFlag< T >::set().

+ Here is the call graph for this function:

◆ requirements()

void WModule::requirements ( )
protectedvirtual

Initialize requirements in this function.

This function must not be called multiple times for one module instance. The module should always implement this. Using this method, a module can tell the kernel what it needs to run properly. For example, it can require a running graphics engine or, in the case of module containers, other modules.

Reimplemented in WMWriteRawData, WMWriteField, WMWriteAmiraMesh, WMWebglSupport, WMVectorAlign, WMTransferFunction1D, WMTemplateUI, WMTemplateShaders, WMTemplateRenderPipelines, WMTemplateContainers, WMTemplateColormapping, WMTemplate, WMResampleRegular, WMReadRawData, WMReadDipoles, WMReadAmiraMesh, WMProjectionsAsContext, WMPickingDVREvaluation, WMPickingDVR, WMOpenIGTLinkSender, WMIsosurfaceRaytracer, WMMultiHistogramView, WMHistogramView, WMPartition2Mesh, WMFiberTranslator, WMEigenSystem, WMEEGView, WMDistanceMapIsosurface, WMDirectVolumeRendering, WMDatasetProfile, WMReadSphericalHarmonics, WMCalculateHistogram, and WMButterfly.

Definition at line 216 of file WModule.cpp.

Referenced by initialize().

+ Here is the caller graph for this function:

◆ setAssociatedContainer()

void WModule::setAssociatedContainer ( std::shared_ptr< WModuleContainer container)
protected

Sets the container this module is associated with.

Parameters
containerthe container to associate with.

Definition at line 273 of file WModule.cpp.

References m_container, m_initialized, m_isAssociated, and m_isUsable.

◆ setLibPath()

void WModule::setLibPath ( boost::filesystem::path  path)
protected

Set the path to the library which contains this module.

This is usually set by WModuleLoader.

Parameters
paththe path to the library. Needs to be absolute.

Definition at line 595 of file WModule.cpp.

References m_libPath.

◆ setLocalPath()

void WModule::setLocalPath ( boost::filesystem::path  path)
protected

Sets the local module path.

This gets called by the module loader.

Parameters
paththe local path.

Definition at line 585 of file WModule.cpp.

References m_localPath.

◆ setPackageName()

void WModule::setPackageName ( std::string  name)
protected

Set the package name.

This basically is the library name of the lib containing this module. The package name is used to identify resources and other things which belong to a library (a.k.a. package).

Parameters
namethe name to set

Definition at line 605 of file WModule.cpp.

References m_packageName.

◆ setRestoreNeeded()

void WModule::setRestoreNeeded ( bool  restore = true)

Change the restore mode.

See also
isRestoreNeeded for details.
Note
loaders need to set this flag before the module is associated with a container.
Parameters
restorethe mode.

Definition at line 641 of file WModule.cpp.

References m_restoreMode.

◆ setUUID()

void WModule::setUUID ( std::string  uuid)
private

Set a uuid.

If the specified string is empty, a new one gets created.

Parameters
uuidthe uuid to set.

Definition at line 656 of file WModule.cpp.

References m_uuid.

◆ subscribeSignal() [1/3]

boost::signals2::connection WModule::subscribeSignal ( MODULE_SIGNAL  signal,
t_ModuleErrorSignalHandlerType  notifier 
)
virtual

Connects a specified notify function with a signal this module instance is offering.

Please note that there also is a WThreadedRunner::subscribeSignal which allows error callbacks. The difference to this one is that the WThreadedRunner's version does not provide the sender information (shared_ptr).

Exceptions
WModuleSignalSubscriptionFailedthrown if the signal can't be connected.
Parameters
signalthe signal to connect to.
notifierthe notifier function to bind.
Returns
connection descriptor.

Definition at line 397 of file WModule.cpp.

References signal_error.

◆ subscribeSignal() [2/3]

boost::signals2::connection WModule::subscribeSignal ( MODULE_SIGNAL  signal,
t_ModuleGenericSignalHandlerType  notifier 
)
virtual

Connects a specified notify function with a signal this module instance is offering.

Exceptions
WModuleSignalSubscriptionFailedthrown if the signal can't be connected.
Parameters
signalthe signal to connect to.
notifierthe notifier function to bind.
Returns
connection descriptor.

Definition at line 383 of file WModule.cpp.

References signal_ready.

◆ subscribeSignal() [3/3]

boost::signals2::connection WThreadedRunner::subscribeSignal

Connects a specified notify function with a signal this thread instance is offering.

Exceptions
WSignalSubscriptionFailedthrown if the signal can't be connected.
Parameters
signalthe signal to connect to.
notifierthe notifier function to bind.
Returns
connection descriptor.

Definition at line 105 of file WThreadedRunner.cpp.

◆ threadMain()

void WModule::threadMain ( )
protectedvirtual

Thread entry point.

Calls moduleMain and sends error notification if needed.

Reimplemented from WThreadedRunner.

Definition at line 526 of file WModule.cpp.

References WLogger::addLogMessage(), checkRequirements(), disconnect(), WLogger::getLogger(), WPrototyped::getName(), m_isRunning, and moduleMain().

+ Here is the call graph for this function:

◆ waitRestored()

void WModule::waitRestored ( )

This method waits for the module to be restored completely.

Use this instead of m_isLoadFinished->wait() as this is not properly defined when adding modules without using the project file loader.

Note
you have to use this after your ready call (or it will cause a freeze)

Definition at line 625 of file WModule.cpp.

References m_isLoadFinished, m_restoreMode, and WFlag< T >::wait().

Referenced by WMData::moduleMain(), WMFiberFilterIndex::moduleMain(), WMFiberFilterROI::moduleMain(), WMReadLAS::moduleMain(), WMReadSimpleTextLineData::moduleMain(), WMReadVIM::moduleMain(), WMTemplate::moduleMain(), and WMTemplateDataLoader::moduleMain().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ warnLog()

wlog::WStreamedLogger WModule::warnLog ( ) const
protected

Friends And Related Function Documentation

◆ WModuleConnector

friend class WModuleConnector
friend

requires access to notify members

Definition at line 73 of file WModule.h.

◆ WModuleContainer

friend class WModuleContainer
friend

for proper management of m_container WModuleContainer needs access.

Definition at line 79 of file WModule.h.

Referenced by WModuleContainer::factory().

◆ WModuleFactory

friend class WModuleFactory
friend

for proper creation of module instances, the factory needs access to protected functions.(esp. initialize)

Definition at line 78 of file WModule.h.

◆ WModuleInputData

template<typename T >
friend class WModuleInputData
friend

requires access for convenience functions to automatically add a created connector

Definition at line 74 of file WModule.h.

◆ WModuleInputForwardData

template<typename T >
friend class WModuleInputForwardData
friend

requires access for convenience functions to automatically add a created connector

Definition at line 75 of file WModule.h.

◆ WModuleLoader

friend class WModuleLoader
friend

needs to set several protected values like local path and library names.

Definition at line 80 of file WModule.h.

◆ WModuleOutputData

template<typename T >
friend class WModuleOutputData
friend

requires access for convenience functions to automatically add a created connector

Definition at line 76 of file WModule.h.

◆ WModuleOutputForwardData

template<typename T >
friend class WModuleOutputForwardData
friend

requires access for convenience functions to automatically add a created connector

Definition at line 77 of file WModule.h.

Member Data Documentation

◆ m_active

WPropBool WModule::m_active
protected

True whenever the module should be active.

Definition at line 723 of file WModule.h.

Referenced by WMArbitraryROIs::activate(), WMColormapper::activate(), WMCoordinateSystem::activate(), WMDistanceMapIsosurface::activate(), WMEffectiveConnectivityCluster::activate(), WMFilterProtonData::activate(), WMImageExtractor::activate(), WMPointConnector::activate(), WMSurfaceParameterAnimator::activate(), WMTeemGlyphs::activate(), WMTemplate::activate(), WMVectorPlot::activate(), WMArbitraryROIs::createCutDataset(), WMCoordinateSystem::createGeometry(), WMArbitraryROIs::finalizeROI(), WMClusterDisplay::handleRoiChanged(), WMDatasetProfile::init(), WMArbitraryPlane::initPlane(), WMClusterDisplay::initWidgets(), WMClusterDisplayVoxels::initWidgets(), WMHierchClustDisplay::initWidgets(), WMArbitraryPlane::moduleMain(), WMButterfly::moduleMain(), WMClusterDisplay::moduleMain(), WMClusterDisplayVoxels::moduleMain(), WMColormapper::moduleMain(), WMDatasetProfile::moduleMain(), WMDirectVolumeRendering::moduleMain(), WMEEGView::moduleMain(), WMEffectiveConnectivityCluster::moduleMain(), WMFiberDisplay::moduleMain(), WMGridRenderer::moduleMain(), WMHierchClustDisplay::moduleMain(), WMPartition2Mesh::moduleMain(), WMImageSpaceLIC::moduleMain(), WMImageSpaceTensorLIC::moduleMain(), WMIsosurface::moduleMain(), WMIsosurfaceRaytracer::moduleMain(), WMNavigationSlices::moduleMain(), WMPaintTexture::moduleMain(), WMPickingDVR::moduleMain(), WMPointRenderer::moduleMain(), WMProjectionsAsContext::moduleMain(), WMSuperquadricGlyphs::moduleMain(), WMSurfaceIllustrator::moduleMain(), WMSurfaceParameterAnimator::moduleMain(), WMTemplate::moduleMain(), WMTransferFunctionColorBar::moduleMain(), WMTriangleMeshRenderer::moduleMain(), WMVectorPlot::moduleMain(), WMVoxelizer::moduleMain(), WMData::propertyChanged(), WMDatasetProfile::update(), WMSplineSurface::updateGraphics(), and WModule().

◆ m_container

std::shared_ptr< WModuleContainer > WModule::m_container
protected

The container this module belongs to.

Definition at line 708 of file WModule.h.

Referenced by getAssociatedContainer(), setAssociatedContainer(), and WModule().

◆ m_infoProperties

std::shared_ptr< WProperties > WModule::m_infoProperties
protected

◆ m_initialized

WBoolFlag WModule::m_initialized
protected

True if everything is initialized and ready to be used.

Definition at line 657 of file WModule.h.

Referenced by initialize(), isInitialized(), removeConnectors(), and setAssociatedContainer().

◆ m_inputConnectors

InputConnectorList WModule::m_inputConnectors
protected

Set of input connectors associated with this module.

Definition at line 713 of file WModule.h.

Referenced by addConnector(), disconnect(), findInputConnector(), getInputConnectors(), getPossibleDisconnections(), and removeConnectors().

◆ m_isAssociated

WBoolFlag WModule::m_isAssociated
protected

True if container got associated with this flag.

Definition at line 662 of file WModule.h.

Referenced by initialize(), isAssociated(), removeConnectors(), and setAssociatedContainer().

◆ m_isLoadFinished

WBoolFlag WModule::m_isLoadFinished
protected

Flag to denote whether the module container and the project loader have finished their work.

See also
isLoadFinished.

Definition at line 688 of file WModule.h.

Referenced by reportRestoreComplete(), and waitRestored().

◆ m_isReady

WBoolFlag WModule::m_isReady
protected

True if ready() was called.

Definition at line 672 of file WModule.h.

Referenced by isReady(), ready(), and WModule().

◆ m_isReadyOrCrashed

WBoolFlag WModule::m_isReadyOrCrashed
protected

It is true whenever m_isReady or WThreadedRunner::m_isCrashed is true.

This is mostly useful for functions which need to wait for a module to get ready.

Definition at line 678 of file WModule.h.

Referenced by isReadyOrCrashed(), and WModule().

◆ m_isRunning

WBoolFlag WModule::m_isRunning
protected

True if the module currently is running.

Definition at line 683 of file WModule.h.

Referenced by isRunning(), onThreadException(), and threadMain().

◆ m_isUsable

WBoolFlag WModule::m_isUsable
protected

True if associated && initialized.

Definition at line 667 of file WModule.h.

Referenced by initialize(), isUseable(), removeConnectors(), and setAssociatedContainer().

◆ m_libPath

boost::filesystem::path WModule::m_libPath
protected

The absolute path to the library containing this module.

Definition at line 739 of file WModule.h.

Referenced by getLibPath(), and setLibPath().

◆ m_localPath

boost::filesystem::path WModule::m_localPath
protected

◆ m_meta

WModuleMetaInformation::SPtr WModule::m_meta
private

Lock for m_inputConnectors.

Lock for m_outputConnectors. Module meta information. Set by the factory creating the module instance.

Definition at line 770 of file WModule.h.

Referenced by getMetaInformation(), and initialize().

◆ m_moduleState

WConditionSet WModule::m_moduleState
protected

The internal state of the module.

This is, by default, simply the exit flag from WThreadedRunner.

Definition at line 703 of file WModule.h.

Referenced by WMData::handleInputChange(), WMReadLAS::handleInputChange(), WMReadSimpleTextLineData::handleInputChange(), WMReadVIM::handleInputChange(), WMTemplateDataLoader::handleInputChange(), WMAnisotropicFiltering::moduleMain(), WMApplyMask::moduleMain(), WMArbitraryPlane::moduleMain(), WMArbitraryROIs::moduleMain(), WMButterfly::moduleMain(), WMCalculateGFA::moduleMain(), WMCalculateHistogram::moduleMain(), WMCalculateTensors::moduleMain(), WMClusterDisplay::moduleMain(), WMClusterDisplayVoxels::moduleMain(), WMColormapper::moduleMain(), WMCoordinateSystem::moduleMain(), WMData::moduleMain(), WMReadSphericalHarmonics::moduleMain(), WMWriteNIfTI::moduleMain(), WMDataCreatorFibers::moduleMain(), WMDataCreatorPoints::moduleMain(), WMDataCreatorScalar::moduleMain(), WMDataCreatorVector::moduleMain(), WMDatasetManipulator::moduleMain(), WMDatasetProfile::moduleMain(), WMDataTypeConversion::moduleMain(), WMDeterministicFTMori::moduleMain(), WMDiffTensorScalars::moduleMain(), WMDirectVolumeRendering::moduleMain(), WMDistanceMap::moduleMain(), WMEEGView::moduleMain(), WMEffectiveConnectivityCluster::moduleMain(), WMEigenSystem::moduleMain(), WMFiberDisplay::moduleMain(), WMFiberFilterIndex::moduleMain(), WMFiberFilterROI::moduleMain(), WMFiberParameterColoring::moduleMain(), WMFiberResampling::moduleMain(), WMFiberSelection::moduleMain(), WMFibersToPoints::moduleMain(), WMFiberTransform::moduleMain(), WMFiberTranslator::moduleMain(), WMFilterProtonData::moduleMain(), WMFunctionalMRIViewer::moduleMain(), WMGaussFiltering::moduleMain(), WMGridRenderer::moduleMain(), WMHARDIToSphericalHarmonics::moduleMain(), WMHierchClustDisplay::moduleMain(), WMPartition2Mesh::moduleMain(), WMHistogramEqualization::moduleMain(), WMHistogramView::moduleMain(), WMMultiHistogramView::moduleMain(), WMImageExtractor::moduleMain(), WMImageSpaceLIC::moduleMain(), WMImageSpaceTensorLIC::moduleMain(), WMIsosurface::moduleMain(), WMIsosurfaceRaytracer::moduleMain(), WMMergeComponentsToVector::moduleMain(), WMMergePoints::moduleMain(), WMMeshToPoints::moduleMain(), WMNavigationSlices::moduleMain(), WMOpenIGTLinkSender::moduleMain(), WMPaintTexture::moduleMain(), WMPickingDVR::moduleMain(), WMPickingDVREvaluation::moduleMain(), WMPointConnector::moduleMain(), WMPointRenderer::moduleMain(), WMProbTractDisplay::moduleMain(), WMProjectionsAsContext::moduleMain(), WMReadAmiraMesh::moduleMain(), WMReadDipoles::moduleMain(), WMReadLAS::moduleMain(), WMReadMesh::moduleMain(), WMReadRawData::moduleMain(), WMReadSimpleTextLineData::moduleMain(), WMReadVCL::moduleMain(), WMReadVIM::moduleMain(), WMResampleRegular::moduleMain(), WMSampleOnFibers::moduleMain(), WMScalarOperator::moduleMain(), WMScalarSegmentation::moduleMain(), WMSpatialDerivative::moduleMain(), WMSplineSurface::moduleMain(), WMSuperquadricGlyphs::moduleMain(), WMSurfaceIllustrator::moduleMain(), WMSurfaceParameterAnimator::moduleMain(), WMTeemGlyphs::moduleMain(), WMTemplate::moduleMain(), WMTemplateColormapping::moduleMain(), WMTemplateContainers::moduleMain(), WMTemplateDataLoader::moduleMain(), WMTemplateRenderPipelines::moduleMain(), WMTemplateShaders::moduleMain(), WMTemplateUI::moduleMain(), WMTransferFunction1D::moduleMain(), WMTransferFunctionColorBar::moduleMain(), WMTriangleMeshRenderer::moduleMain(), WMVectorAlign::moduleMain(), WMVectorNormalize::moduleMain(), WMVectorOperator::moduleMain(), WMVectorPlot::moduleMain(), WMVectorScale::moduleMain(), WMVoxelizer::moduleMain(), WMWebglSupport::moduleMain(), WMWriteAmiraMesh::moduleMain(), WMWriteDendrogram::moduleMain(), WMWriteField::moduleMain(), WMWriteMesh::moduleMain(), WMWriteCSV::moduleMain(), WMWriteRawData::moduleMain(), WMWriteTracts::moduleMain(), WMWriteTransferFunction::moduleMain(), WMDeterministicFTMori::resetEigenFunction(), WMEigenSystem::resetEigenFunction(), WMCalculateGFA::resetGFAPool(), WMCalculateTensors::resetTensorPool(), WMDeterministicFTMori::resetTracking(), and WModule().

◆ m_outputConnectors

OutputConnectorList WModule::m_outputConnectors
protected

Set of output connectors associated with this module.

Definition at line 718 of file WModule.h.

Referenced by addConnector(), disconnect(), findOutputConnector(), getOutputConnectors(), getPossibleDisconnections(), and removeConnectors().

◆ m_packageName

std::string WModule::m_packageName
protected

The name of the lib/the package containing this module.

Definition at line 744 of file WModule.h.

Referenced by getPackageName(), and setPackageName().

◆ m_progress

std::shared_ptr< WProgressCombiner > WModule::m_progress
protected

Progress indicator used as parent for all progress' of this module.

Definition at line 652 of file WModule.h.

Referenced by WModuleContainer::add(), WMApplyMask::applyMask(), WMVectorPlot::buildPlotSlices(), WMAnisotropicFiltering::calcSmoothedImages(), WMHierchClustDisplay::clusterSelection(), WMFiberDisplay::createFiberGeode(), WMDistanceMap::createOffset(), WMIsosurface::generateSurfacePre(), getRootProgressCombiner(), WMHierchClustDisplay::initTexture(), WMHierchClustDisplay::initTreeData(), WMGaussFiltering::iterativeFilterField(), WMData::load(), WMReadLAS::load(), WMReadSimpleTextLineData::load(), WMReadVIM::load(), WMTemplateDataLoader::load(), WMReadSphericalHarmonics::moduleMain(), WMDataCreatorFibers::moduleMain(), WMDataCreatorPoints::moduleMain(), WMDataCreatorScalar::moduleMain(), WMDataCreatorVector::moduleMain(), WMDiffTensorScalars::moduleMain(), WMFiberParameterColoring::moduleMain(), WMFiberResampling::moduleMain(), WMFiberSelection::moduleMain(), WMFibersToPoints::moduleMain(), WMFilterProtonData::moduleMain(), WMHARDIToSphericalHarmonics::moduleMain(), WMHierchClustDisplay::moduleMain(), WMHistogramEqualization::moduleMain(), WMIsosurface::moduleMain(), WMMergeComponentsToVector::moduleMain(), WMMergePoints::moduleMain(), WMMeshToPoints::moduleMain(), WMPickingDVREvaluation::moduleMain(), WMPointConnector::moduleMain(), WMReadMesh::moduleMain(), WMReadVCL::moduleMain(), WMResampleRegular::moduleMain(), WMSampleOnFibers::moduleMain(), WMScalarOperator::moduleMain(), WMSpatialDerivative::moduleMain(), WMSuperquadricGlyphs::moduleMain(), WMTemplate::moduleMain(), WMVectorNormalize::moduleMain(), WMVectorOperator::moduleMain(), WMVectorPlot::moduleMain(), WMVectorScale::moduleMain(), WMWriteRawData::moduleMain(), WModuleContainer::remove(), WMHierchClustDisplay::renderCubeMesh(), WMSurfaceIllustrator::renderMesh(), WMTriangleMeshRenderer::renderMesh(), WMTeemGlyphs::renderSlice(), WMCalculateGFA::resetProgress(), WMCalculateTensors::resetProgress(), WMDeterministicFTMori::resetProgress(), WMEigenSystem::resetProgress(), WMWriteTracts::savePOVRay(), WMFiberTransform::update(), WMHierchClustDisplay::updateColors(), WMFiberFilterIndex::updateOutput(), WMFiberFilterROI::updateOutput(), WMHierchClustDisplay::updateOutput2(), WMHierchClustDisplay::updateSelection(), WMHierchClustDisplay::updateWidgets(), and WModule().

◆ m_properties

std::shared_ptr< WProperties > WModule::m_properties
protected

The property object for the module.

Definition at line 640 of file WModule.h.

Referenced by WMData::cleanUp(), WMFilterProtonData::clearProperties(), WMPointConnector::createFiberDisplay(), WMPointConnector::createPointRenderer(), WMPaintTexture::createTexture(), getProperties(), WMDiffTensorScalars::initSubModules(), WMProbTractDisplay::initSubModules(), WMData::matrixUpdate(), WMColormapper::moduleMain(), WMDistanceMapIsosurface::moduleMain(), WMEffectiveConnectivityCluster::moduleMain(), WMFiberDisplay::moduleMain(), WMFilterProtonData::moduleMain(), WMFunctionalMRIViewer::moduleMain(), WMImageExtractor::moduleMain(), WMIsosurface::moduleMain(), WMIsosurfaceRaytracer::moduleMain(), WMPointRenderer::moduleMain(), WMSuperquadricGlyphs::moduleMain(), WMTemplateContainers::moduleMain(), WMTemplateUI::moduleMain(), WMTriangleMeshRenderer::moduleMain(), WMVoxelizer::moduleMain(), WMAnisotropicFiltering::properties(), WMArbitraryPlane::properties(), WMArbitraryROIs::properties(), WMButterfly::properties(), WMCalculateHistogram::properties(), WMClusterDisplay::properties(), WMClusterDisplayVoxels::properties(), WMColormapper::properties(), WMCoordinateSystem::properties(), WMData::properties(), WMReadSphericalHarmonics::properties(), WMWriteNIfTI::properties(), WMDataCreatorFibers::properties(), WMDataCreatorPoints::properties(), WMDataCreatorScalar::properties(), WMDataCreatorVector::properties(), WMDatasetManipulator::properties(), WMDatasetProfile::properties(), WMDataTypeConversion::properties(), WMDeterministicFTMori::properties(), WMDiffTensorScalars::properties(), WMDirectVolumeRendering::properties(), WMEEGView::properties(), WMEffectiveConnectivityCluster::properties(), WMEigenSystem::properties(), WMFiberDisplay::properties(), WMFiberFilterIndex::properties(), WMFiberFilterROI::properties(), WMFiberParameterColoring::properties(), WMFiberResampling::properties(), WMFiberSelection::properties(), WMFibersToPoints::properties(), WMFiberTransform::properties(), WMFiberTranslator::properties(), WMFilterProtonData::properties(), WMFunctionalMRIViewer::properties(), WMGaussFiltering::properties(), WMGridRenderer::properties(), WMHARDIToSphericalHarmonics::properties(), WMHierchClustDisplay::properties(), WMPartition2Mesh::properties(), WMHistogramEqualization::properties(), WMHistogramView::properties(), WMMultiHistogramView::properties(), WMImageExtractor::properties(), WMImageSpaceLIC::properties(), WMImageSpaceTensorLIC::properties(), WMIsosurface::properties(), WMIsosurfaceRaytracer::properties(), WMMeshToPoints::properties(), WMNavigationSlices::properties(), WMOpenIGTLinkSender::properties(), WMPaintTexture::properties(), WMPickingDVR::properties(), WMPickingDVREvaluation::properties(), WMPointConnector::properties(), WMPointRenderer::properties(), WMProjectionsAsContext::properties(), WMReadAmiraMesh::properties(), WMReadDipoles::properties(), WMReadMesh::properties(), WMReadRawData::properties(), WMReadVCL::properties(), WMSampleOnFibers::properties(), WMScalarOperator::properties(), WMScalarSegmentation::properties(), WMSpatialDerivative::properties(), WMSplineSurface::properties(), WMSuperquadricGlyphs::properties(), WMSurfaceIllustrator::properties(), WMSurfaceParameterAnimator::properties(), WMTeemGlyphs::properties(), WMTemplate::properties(), WMTemplateRenderPipelines::properties(), WMTemplateShaders::properties(), WMTemplateUI::properties(), WMTransferFunction1D::properties(), WMTransferFunctionColorBar::properties(), WMTriangleMeshRenderer::properties(), WMVectorNormalize::properties(), WMVectorOperator::properties(), WMVectorPlot::properties(), WMVoxelizer::properties(), WMWebglSupport::properties(), WMWriteAmiraMesh::properties(), WMWriteDendrogram::properties(), WMWriteField::properties(), WMWriteMesh::properties(), WMWriteCSV::properties(), WMWriteRawData::properties(), WMWriteTracts::properties(), WMWriteTransferFunction::properties(), WMFilterProtonData::setToLoadedProperties(), WMWriteMeshTest::testSaveInfinteNan(), WMWriteMeshTest::testSaveZero(), WMData::updateColorMap(), and WModule().

◆ m_readyProgress

std::shared_ptr< WProgress > WModule::m_readyProgress
protected

Progress indicator for the "ready" state.

Definition at line 698 of file WModule.h.

Referenced by ready(), and WModule().

◆ m_requirements

Requirements WModule::m_requirements
protected

◆ m_restoreMode

bool WModule::m_restoreMode
protected

Flag denoting the current restore mode.

See also
setRestoreNeeded

Definition at line 693 of file WModule.h.

Referenced by isRestoreNeeded(), setRestoreNeeded(), and waitRestored().

◆ m_runtimeName

WPropString WModule::m_runtimeName
protected

This property holds a user specified name for the current module instance.

Definition at line 728 of file WModule.h.

Referenced by getRuntimeName(), initialize(), WMData::updateColorMap(), and WModule().

◆ m_uuid

std::string WModule::m_uuid
private

The unique ID of the module instance.

Definition at line 785 of file WModule.h.

Referenced by getUUID(), and setUUID().

◆ signal_error

t_ModuleErrorSignalType WModule::signal_error
private

Signal fired whenever a module main thread throws an exception/error.

Definition at line 780 of file WModule.h.

Referenced by WModuleContainer::moduleError(), onThreadException(), and subscribeSignal().

◆ signal_ready

t_ModuleGenericSignalType WModule::signal_ready
private

Signal fired whenever a module main thread is ready.

Definition at line 775 of file WModule.h.

Referenced by ready(), and subscribeSignal().


The documentation for this class was generated from the following files: