OpenWalnut
1.5.0dev
|
Base for all data loader modules. More...
#include <WDataModule.h>
Public Types | |
typedef std::shared_ptr< WDataModule > | SPtr |
Convenience typedef for a std::shared_ptr< WDataModule >. More... | |
typedef std::shared_ptr< const WDataModule > | ConstSPtr |
Convenience typedef for a std::shared_ptr< const WDataModule >. More... | |
Public Types inherited from WModule | |
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< WModule > | SPtr |
Shared pointer to a WModule. More... | |
typedef std::shared_ptr< const WModule > | ConstSPtr |
Shared pointer to a const WModule. More... | |
Public Types inherited from WThreadedRunner | |
typedef std::shared_ptr< WThreadedRunner > | SPtr |
Abbreviation to a shared_ptr to this type. More... | |
typedef std::shared_ptr< const WThreadedRunner > | ConstSPtr |
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 | |
WDataModule () | |
Default constructor. More... | |
virtual | ~WDataModule () |
Destructor. More... | |
virtual MODULE_TYPE | getType () const |
Gets the type of the module. More... | |
virtual void | setSuppressColormaps (bool suppress=true) |
Allows suppression of colormap registration in data modules. More... | |
bool | getSuppressColormaps () const |
Checks whether suppression of colormaps is active. More... | |
virtual std::vector< WDataModuleInputFilter::ConstSPtr > | getInputFilter () const =0 |
Return a list of input filters. More... | |
void | setInput (WDataModuleInput::SPtr input) |
Set the input of this data module. More... | |
void | reload () |
Initiate an reloading of the data. More... | |
virtual WDataModuleInput::SPtr | getInput () const |
Get the currently set input or NULL if none was set. More... | |
template<typename InputType > | |
std::shared_ptr< InputType > | getInputAs () const |
Get the currently set input or NULL if none was set. More... | |
WCondition::ConstSPtr | getInputChangedCondition () const |
Return the condition that gets triggered upon input change. More... | |
Public Member Functions inherited from WModule | |
WModule () | |
Constructs a new WModule instance. More... | |
virtual | ~WModule () |
Destructor. More... | |
const InputConnectorList & | getInputConnectors () const |
Gives back input connectors. More... | |
std::shared_ptr< WModuleInputConnector > | getInputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleInputConnector > | findInputConnector (std::string name) |
Finds the named connector for the module. More... | |
const OutputConnectorList & | getOutputConnectors () const |
Gives back output connectors. More... | |
std::shared_ptr< WModuleOutputConnector > | getOutputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleOutputConnector > | findOutputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleConnector > | getConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleConnector > | findConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WProperties > | getProperties () const |
Return a pointer to the properties object of the module. More... | |
std::shared_ptr< WProperties > | getInformationProperties () const |
Return a pointer to the information properties object of the module. More... | |
const WBoolFlag & | isInitialized () const |
Determines whether the module instance is properly initialized. More... | |
const WBoolFlag & | isUseable () const |
Checks whether the module instance is ready to be used. More... | |
const WBoolFlag & | isAssociated () const |
Checks whether this module is associated with an container. More... | |
const WBoolFlag & | isReady () const |
Checks whether this module is ready. More... | |
const WBoolFlag & | isReadyOrCrashed () const |
This is the logical or of isReady and isCrashed. More... | |
const WBoolFlag & | isRunning () 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< WModuleContainer > | getAssociatedContainer () const |
The container this module is associated with. More... | |
virtual std::shared_ptr< WModule > | factory () 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< WProgressCombiner > | getRootProgressCombiner () |
Gets the modules base progress. More... | |
virtual const char ** | getXPMIcon () const |
Get the icon for this module in XPM format. 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 WRequirement * | checkRequirements () 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 WBoolFlag & | isCrashed () 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... | |
Protected Member Functions | |
virtual void | handleInputChange ()=0 |
Handle a newly set input. More... | |
Protected Member Functions inherited from WModule | |
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... | |
Private Attributes | |
bool | m_suppressColormaps |
If true, data modules are instructed to suppress colormap registration. More... | |
WDataModuleInput::SPtr | m_dataModuleInput |
The input this data module should use. More... | |
WCondition::SPtr | m_inputChanged |
Condition that fires whenever the input changes via setInput. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from WModule | |
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 inherited from WModule | |
typedef std::vector< WRequirement * > | Requirements |
The type of the requirement list. More... | |
Protected Attributes inherited from WModule | |
std::shared_ptr< WProperties > | m_properties |
The property object for the module. More... | |
std::shared_ptr< WProperties > | m_infoProperties |
The property object for the module containing only module whose purpose is "PV_PURPOSE_INFORMNATION". More... | |
std::shared_ptr< WProgressCombiner > | m_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< WProgress > | m_readyProgress |
Progress indicator for the "ready" state. More... | |
WConditionSet | m_moduleState |
The internal state of the module. More... | |
std::shared_ptr< WModuleContainer > | m_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... | |
Base for all data loader modules.
It provides the basic mechanism to define input filters and some other settings.
Implementing a WDataModule is nearly the same as a module. Mark your module ready and call your load code. Enter the main loop and maybe react on property changes.
Definition at line 46 of file WDataModule.h.
typedef std::shared_ptr< const WDataModule > WDataModule::ConstSPtr |
Convenience typedef for a std::shared_ptr< const WDataModule >.
Definition at line 57 of file WDataModule.h.
typedef std::shared_ptr< WDataModule > WDataModule::SPtr |
Convenience typedef for a std::shared_ptr< WDataModule >.
Definition at line 52 of file WDataModule.h.
WDataModule::WDataModule | ( | ) |
Default constructor.
Definition at line 27 of file WDataModule.cpp.
|
virtual |
Destructor.
Definition at line 36 of file WDataModule.cpp.
|
virtual |
Get the currently set input or NULL if none was set.
Definition at line 63 of file WDataModule.cpp.
References m_dataModuleInput.
Referenced by getInputAs().
std::shared_ptr< InputType > WDataModule::getInputAs |
Get the currently set input or NULL if none was set.
InputType | get the input in this type |
Definition at line 169 of file WDataModule.h.
References getInput().
WCondition::ConstSPtr WDataModule::getInputChangedCondition | ( | ) | const |
Return the condition that gets triggered upon input change.
This will get fired every time setInput was called, but before handleInputChange.
Definition at line 73 of file WDataModule.cpp.
References m_inputChanged.
|
pure virtual |
Return a list of input filters.
This defines what your module can load. You can return an empty vector. This causes the data module to be "un-matched" for all kinds of data.
Implement this function and ensure it works with module prototypes (do not rely on any properties, connectors and similar here).
Implemented in WMTemplateDataLoader, WMReadVIM, WMReadSimpleTextLineData, WMReadLAS, and WMData.
Referenced by WModuleFactory::getDataModulePrototypesByInput().
bool WDataModule::getSuppressColormaps | ( | ) | const |
Checks whether suppression of colormaps is active.
Definition at line 51 of file WDataModule.cpp.
References m_suppressColormaps.
Referenced by WMData::updateColorMap().
|
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.
Reimplemented from WModule.
Definition at line 41 of file WDataModule.cpp.
|
protectedpure virtual |
Handle a newly set input.
Implement this method to load the newly set input. You can get the input using the getInput and getInputAs methods. Please remember that it is possible to get a NULL pointer here. This happens when the user explicitly sets no input. In this case, you should clean up and reset your output connectors.
Implemented in WMTemplateDataLoader, WMReadVIM, WMReadSimpleTextLineData, WMReadLAS, and WMData.
Referenced by reload(), and setInput().
void WDataModule::reload | ( | ) |
Initiate an reloading of the data.
Definition at line 68 of file WDataModule.cpp.
References handleInputChange().
void WDataModule::setInput | ( | WDataModuleInput::SPtr | input | ) |
Set the input of this data module.
This is called after construction and running the module.
input | the input to use for loading. |
Definition at line 56 of file WDataModule.cpp.
References handleInputChange(), m_dataModuleInput, and m_inputChanged.
|
virtual |
Allows suppression of colormap registration in data modules.
This can be handy if you use data modules in a container to construct more complex data sets from multiple input files. If a loader does not use colormapping, this setting is ignored.
suppress | true if suppress |
Definition at line 46 of file WDataModule.cpp.
References m_suppressColormaps.
|
private |
The input this data module should use.
Definition at line 160 of file WDataModule.h.
Referenced by getInput(), and setInput().
|
private |
Condition that fires whenever the input changes via setInput.
Definition at line 165 of file WDataModule.h.
Referenced by getInputChangedCondition(), and setInput().
|
private |
If true, data modules are instructed to suppress colormap registration.
Definition at line 155 of file WDataModule.h.
Referenced by getSuppressColormaps(), and setSuppressColormaps().