OpenWalnut
1.2.5
|
OpenWalnut kernel, managing modules and interaction between GUI, GE and DataHandler. More...
#include <WKernel.h>
Public Member Functions | |
virtual | ~WKernel () |
Destructor. | |
void | finalize () |
Stops execution of the modules in the root container. | |
boost::shared_ptr < WGraphicsEngine > | getGraphicsEngine () const |
Returns pointer to currently running instance of graphics engine. | |
const WBoolFlag & | isFinishRequested () const |
Determines whether all threads should finish. | |
void | loadDataSets (std::vector< std::string > fileNames) |
Load specified datasets. | |
void | loadDataSetsSynchronously (std::vector< std::string > fileNames) |
Loads the specified files synchronously. | |
boost::shared_ptr< WModule > | applyModule (boost::shared_ptr< WModule > applyOn, boost::shared_ptr< WModule > prototype) |
Function combines to modules. | |
boost::shared_ptr < WModuleContainer > | getRootContainer () const |
Returns the root module container. | |
boost::shared_ptr< WGUI > | getGui () const |
Getter for the associated GUI. | |
boost::shared_ptr< WROIManager > | getRoiManager () |
get for roi manager | |
boost::shared_ptr < WSelectionManager > | getSelectionManager () |
get for selection manager | |
![]() | |
WThreadedRunner () | |
Default constructor. | |
virtual | ~WThreadedRunner () |
Destructor. | |
virtual void | run () |
Run thread. | |
void | run (THREADFUNCTION f) |
Run thread. | |
void | wait (bool requestFinish=false) |
Wait for the thread to be finished. | |
virtual void | requestStop () |
This method's purpose is to request a stop without waiting for it. |
Static Public Member Functions | |
static WKernel * | instance (boost::shared_ptr< WGraphicsEngine > ge, boost::shared_ptr< WGUI > gui) |
Returns pointer to the running kernel or a new if no kernel was there. | |
static WKernel * | getRunningKernel () |
Returns pointer to the currently running kernel. |
Protected Member Functions | |
WKernel (boost::shared_ptr< WGraphicsEngine > ge, boost::shared_ptr< WGUI > gui) | |
Constructor is protected because this class is a singleton. | |
virtual void | threadMain () |
Function that has to be overwritten for execution. | |
![]() | |
virtual void | notifyStop () |
Gets called when the thread should be stopped. | |
void | yield () const |
Give remaining execution timeslice to another thread. | |
void | sleep (const int32_t t) const |
Sets thread asleep. | |
void | msleep (const int32_t t) const |
Sets thread asleep. | |
void | waitForStop () |
Let the thread sleep until a stop request was given. |
Protected Attributes | |
boost::shared_ptr< WGUI > | m_gui |
The Gui. | |
boost::shared_ptr < WGraphicsEngine > | m_graphicsEngine |
Pointer to an initialized graphics engine. | |
boost::shared_ptr< WROIManager > | m_roiManager |
Pointer to a roi manager. | |
boost::shared_ptr < WSelectionManager > | m_selectionManager |
pointer to a selection manager | |
boost::shared_ptr< WModuleFactory > | m_moduleFactory |
The module factory to use. | |
boost::shared_ptr < WModuleContainer > | m_moduleContainer |
The container containing the modules. | |
![]() | |
boost::thread | m_thread |
Thread instance. | |
WBoolFlag | m_shutdownFlag |
Condition getting fired whenever the thread should quit. |
Private Member Functions | |
void | loadModules () |
Loads all the modules it can find. | |
void | init () |
Initializes the graphics engine, data handler and so on. |
Static Private Attributes | |
static WKernel * | m_kernel = NULL |
Pointer to the unique instance of this singleton class. |
Additional Inherited Members | |
![]() | |
typedef boost::function< void(void) > | THREADFUNCTION |
Type used for simple thread functions. |
OpenWalnut kernel, managing modules and interaction between GUI, GE and DataHandler.
|
virtual |
Destructor.
Definition at line 80 of file WKernel.cpp.
References WLogger::addLogMessage(), and WLogger::getLogger().
|
protected |
Constructor is protected because this class is a singleton.
Awaits an INITIALIZED graphics engine an gui.
ge | initialized graphics engine. |
gui | initialized gui. |
Definition at line 63 of file WKernel.cpp.
References WLogger::addLogMessage(), wlog::debug(), WLogger::getLogger(), init(), m_graphicsEngine, m_gui, and m_kernel.
Referenced by instance().
boost::shared_ptr< WModule > WKernel::applyModule | ( | boost::shared_ptr< WModule > | applyOn, |
boost::shared_ptr< WModule > | prototype | ||
) |
Function combines to modules.
This is a simple alias for "getRootContainer()->applyModule". It runs synchronously, which could freeze the calling thread for a couple of time.
applyOn | the module which already has to be in the container and to apply the other one on. |
prototype | the prototype of the module to apply on the other one specified. |
Definition at line 181 of file WKernel.cpp.
References getRootContainer().
void WKernel::finalize | ( | ) |
Stops execution of the modules in the root container.
Note that this does not wait for the kernel thread since this could cause a dead lock. This is actually an alias for getRootContainer()->stop().
Definition at line 139 of file WKernel.cpp.
References WLogger::addLogMessage(), WDataHandler::getDataHandler(), WLogger::getLogger(), and getRootContainer().
boost::shared_ptr< WGraphicsEngine > WKernel::getGraphicsEngine | ( | ) | const |
Returns pointer to currently running instance of graphics engine.
Definition at line 124 of file WKernel.cpp.
References m_graphicsEngine.
Referenced by WSelectionManager::getFrontSector(), and WSelectionManager::setPaintMode().
boost::shared_ptr< WGUI > WKernel::getGui | ( | ) | const |
Getter for the associated GUI.
Definition at line 134 of file WKernel.cpp.
References m_gui.
boost::shared_ptr< WROIManager > WKernel::getRoiManager | ( | ) |
get for roi manager
Definition at line 186 of file WKernel.cpp.
References m_roiManager.
Referenced by WFiberSelector::slotAddRoi(), WFiberSelector::WFiberSelector(), and WFiberSelector::~WFiberSelector().
boost::shared_ptr< WModuleContainer > WKernel::getRootContainer | ( | ) | const |
Returns the root module container.
This is the actual module graph container.
Definition at line 129 of file WKernel.cpp.
References m_moduleContainer.
Referenced by applyModule(), finalize(), WProjectFile::load(), loadDataSets(), loadDataSetsSynchronously(), WModuleProjectFileCombiner::save(), and WProjectFile::threadMain().
|
static |
Returns pointer to the currently running kernel.
Definition at line 119 of file WKernel.cpp.
References m_kernel.
Referenced by WSelectionManager::getFrontSector(), WProjectFile::load(), WModuleProjectFileCombiner::save(), WSelectionManager::setPaintMode(), WFiberSelector::slotAddRoi(), WProjectFile::threadMain(), WFiberSelector::WFiberSelector(), and WFiberSelector::~WFiberSelector().
boost::shared_ptr< WSelectionManager > WKernel::getSelectionManager | ( | ) |
get for selection manager
Definition at line 191 of file WKernel.cpp.
References m_selectionManager.
|
private |
Initializes the graphics engine, data handler and so on.
Definition at line 96 of file WKernel.cpp.
References WDataHandler::getDataHandler(), WModuleFactory::getModuleFactory(), m_moduleContainer, m_moduleFactory, m_roiManager, and m_selectionManager.
Referenced by WKernel().
|
static |
Returns pointer to the running kernel or a new if no kernel was there.
If a running kernel exists the function return it and does not check if ge and gui of the running kernel are equivalent to the ones given as parameters.
ge | initialized graphics engine. |
gui | initialized gui. |
Definition at line 86 of file WKernel.cpp.
const WBoolFlag & WKernel::isFinishRequested | ( | ) | const |
Determines whether all threads should finish.
Definition at line 166 of file WKernel.cpp.
References WThreadedRunner::m_shutdownFlag.
void WKernel::loadDataSets | ( | std::vector< std::string > | fileNames | ) |
Load specified datasets.
It immediately returns and starts another thread, which actually loads the data.
fileNames | list of filenames to load. The registered notification handler for the root container will get notified on error and success. |
Definition at line 171 of file WKernel.cpp.
References getRootContainer().
void WKernel::loadDataSetsSynchronously | ( | std::vector< std::string > | fileNames | ) |
Loads the specified files synchronously.
fileNames | list of filenames to load. The registered notification handler for the root container will get notified on error and success. |
Definition at line 176 of file WKernel.cpp.
References getRootContainer().
|
private |
Loads all the modules it can find.
|
protectedvirtual |
Function that has to be overwritten for execution.
It gets executed in a separate thread after run() has been called.
Reimplemented from WThreadedRunner.
Definition at line 150 of file WKernel.cpp.
References WLogger::addLogMessage(), WLogger::getLogger(), m_graphicsEngine, m_gui, and WThreadedRunner::waitForStop().
|
protected |
Pointer to an initialized graphics engine.
Definition at line 184 of file WKernel.h.
Referenced by getGraphicsEngine(), threadMain(), and WKernel().
|
protected |
The Gui.
Definition at line 179 of file WKernel.h.
Referenced by getGui(), threadMain(), and WKernel().
|
staticprivate |
Pointer to the unique instance of this singleton class.
Used for program wide access to the kernel.
Definition at line 220 of file WKernel.h.
Referenced by getRunningKernel(), instance(), and WKernel().
|
protected |
The container containing the modules.
Definition at line 204 of file WKernel.h.
Referenced by getRootContainer(), and init().
|
protected |
|
protected |
Pointer to a roi manager.
Definition at line 189 of file WKernel.h.
Referenced by getRoiManager(), and init().
|
protected |
pointer to a selection manager
Definition at line 194 of file WKernel.h.
Referenced by getSelectionManager(), and init().