OpenWalnut
1.5.0dev
|
This module connects the points in a point dataset. More...
#include <WMPointConnector.h>
Public Types | |
typedef std::shared_ptr< std::vector< float > > | SPFloatVector |
represents a std::shared_ptr to a vector containing a vector of floats. More... | |
typedef std::shared_ptr< std::vector< size_t > > | SPSizeVector |
represents a std::shared_ptr to a vector containing a vector of size_t. More... | |
typedef std::shared_ptr< WMPointConnector > | SPtr |
A shared_ptr to this class. More... | |
Public Types inherited from WModuleContainer | |
typedef std::vector< std::shared_ptr< WModule > > | ModuleVectorType |
A vector of modules. More... | |
typedef std::set< std::shared_ptr< WModule > > | ModuleContainerType |
For shortening: a type defining a shared vector of WModule pointers. More... | |
typedef WSharedObject< ModuleContainerType > | ModuleSharedContainerType |
The alias for a shared container. More... | |
typedef ModuleContainerType::const_iterator | ModuleConstIterator |
The const iterator type of the container. More... | |
typedef ModuleContainerType::iterator | ModuleIterator |
The iterator type of the container. More... | |
typedef std::set< std::shared_ptr< WDataModule > > | DataModuleListType |
Simple type for WDataModule pointer lists. 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 | |
WMPointConnector () | |
Constructor. More... | |
virtual | ~WMPointConnector () |
Destructor. More... | |
virtual const std::string | getName () const |
Gives back the name of this module. More... | |
virtual const std::string | getDescription () const |
Gives back a description of this module. More... | |
virtual std::shared_ptr< WModule > | factory () const |
Due to the prototype design pattern used to build modules, this method returns a new instance of this method. More... | |
virtual const char ** | getXPMIcon () const |
Get the icon for this module in XPM format. More... | |
void | handleClick (osg::Vec3 cameraPosition, osg::Vec3 direction, bool isLeftClick) |
Handles a click on the drawing area. More... | |
void | updatePoints () |
Redraws the current vertices with their colors. More... | |
void | updateOutput () |
Updates the fiber output. More... | |
void | updateAll () |
Updates all. More... | |
std::shared_ptr< WConnectorData > | getConnectorData () |
std::shared_ptr< WFiberHandler > | getFiberHandler () |
std::shared_ptr< WOnscreenSelection > | getOnscreenSelection () |
WPropPosition | getScaling () |
void | pushEventQueue (std::function< void() > func) |
Pushes a function to the selection queue. More... | |
void | acceptPrediction () |
Accepts the current prediction. More... | |
Public Member Functions inherited from WModuleContainer | |
WModuleContainer (std::string name="Unnamed Module Container", std::string description="Used as container for several modules.") | |
Constructor. More... | |
virtual | ~WModuleContainer () |
Destructor. More... | |
virtual void | add (std::shared_ptr< WModule > module, bool run=true) |
Add a module to this container and start it. More... | |
virtual WModule::SPtr | createAndAdd (std::string name) |
Convenience method to create a module instance with a given name and automatically add it to the container. More... | |
virtual void | remove (std::shared_ptr< WModule > module) |
Remove the given module from this container if it is associated with it. More... | |
virtual void | removeAll () |
Removes all modules from this container. More... | |
virtual void | stop () |
Stops all modules inside this container. More... | |
virtual void | addDefaultNotifier (MODULE_SIGNAL signal, t_ModuleErrorSignalHandlerType notifier) |
Add a specified notifier to the list of default notifiers which get connected to each added module. More... | |
virtual void | addDefaultNotifier (MODULE_SIGNAL signal, t_ModuleGenericSignalHandlerType notifier) |
Add a specified notifier to the list of default notifiers which get connected to each added module. More... | |
virtual void | addDefaultNotifier (MODULE_CONNECTOR_SIGNAL signal, t_GenericSignalHandlerType notifier) |
Add a specified notifier to the list of default notifiers which get connected to each added module. More... | |
virtual std::shared_ptr< WModule > | applyModule (std::shared_ptr< WModule > applyOn, std::string what, bool tryOnly=false) |
Function combines two modules. More... | |
virtual std::shared_ptr< WModule > | applyModule (std::shared_ptr< WModule > applyOn, std::shared_ptr< WModule > prototype) |
Function combines two modules. More... | |
WBatchLoader::SPtr | loadDataSets (std::vector< std::string > filenames, bool suppressColormaps=false) |
Load specified datasets. More... | |
WBatchLoader::SPtr | loadDataSetsSynchronously (std::vector< std::string > filenames, bool suppressColormaps=false) |
Loads the specified files synchronously. More... | |
void | addPendingThread (std::shared_ptr< WThreadedRunner > thread) |
Add the specified thread to the list of pending jobs. More... | |
void | finishedPendingThread (std::shared_ptr< WThreadedRunner > thread) |
The specified thread has finished and does not longer depend upon this container instance. More... | |
void | setCrashIfModuleCrashes (bool crashIfCrashed=true) |
Sets a flag denoting whether the container (which also is a module) should be marked as "crashed" if a nested module crashes. More... | |
DataModuleListType | getDataModules () |
Returns a vector of pointers to the loaded data modules in the container. More... | |
ModuleSharedContainerType::ReadTicket | getModules () const |
Method returns a read ticket allowing read-access to the list of modules inside the container. More... | |
ModuleVectorType | getModules (std::string name) const |
Queries the container to find all modules with a given name. More... | |
WCombinerTypes::WCompatiblesList | getPossibleConnections (std::shared_ptr< WModule > module) |
This method creates a list of combiner instances, for each possible connection that can be made between the specified module and the module currently inside the container. 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 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 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 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... | |
template<typename T > | |
bool | isA () |
Checks whether the actual prototype has the specified runtime type. More... | |
Protected Member Functions | |
virtual void | moduleMain () |
Entry point after loading the module. More... | |
virtual void | connectors () |
Initialize the connectors this module is using. More... | |
virtual void | properties () |
Initialize the properties for this module. More... | |
virtual void | activate () |
Deactivates or activates the inner modules when active changes. More... | |
Protected Member Functions inherited from WModuleContainer | |
virtual void | moduleError (std::shared_ptr< WModule > module, const WException &exception) |
This method is called whenever a module inside the container crashes. More... | |
Protected Member Functions inherited from WModule | |
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 | 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 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 Member Functions | |
float | hitVertex (osg::Vec3 rayStart, osg::Vec3 rayDir, osg::Vec3 vertex, float radius) |
Checks if a vertex with a certain radius is hit by a ray. More... | |
void | createPointRenderer () |
Creates the WMPointRenderer and runs it. More... | |
void | createFiberDisplay () |
Creates the WMFiberDisplay and runs it. More... | |
void | createHandler () |
Creates the WKeyboardHandler and registers them. More... | |
void | handleInput () |
Handles the input of this module. More... | |
bool | findClickedPoint (osg::Vec3 cameraPosition, osg::Vec3 direction, size_t *hitIdx) |
Finds the point that was clicked and writes it into hitIdx, while return whether a point was hit. More... | |
void | toggleActivationOfModule (WModule::SPtr mod) |
Toggles the activation of a module. More... | |
void | selectionEnd (WOnscreenSelection::WSelectionType type, float x, float y) |
The end callback of m_onscreenSelection. More... | |
bool | isAdaptivelyHidden (osg::Vec3 vertex, osg::Vec3 *from=NULL) |
Checks whether a vertex is adaptively hidden. More... | |
void | handleClickSelection (bool clickType, double x, double y) |
Handles a selection with only one click. More... | |
void | handleLeftSelection (std::vector< WPosition > positions) |
Handles the selection of a left click. More... | |
void | handleRightSelection (std::vector< WPosition > positions) |
Handles the selection of a right click. More... | |
void | createPrediction () |
Creates a track continuation prediction. More... | |
Private Attributes | |
WModule::SPtr | m_pointRenderer |
The WMPointRenderer associated with this module. More... | |
WModule::SPtr | m_fiberDisplay |
The WMFiberDisplay associated with this module. More... | |
std::shared_ptr< WConnectorData > | m_connectorData |
The data of this module. More... | |
std::shared_ptr< WFiberHandler > | m_fiberHandler |
The WFiberHandler of this module. More... | |
std::shared_ptr< WModuleInputData< WDataSetPoints > > | m_pointInput |
An input connector used to get points from other modules. More... | |
std::shared_ptr< WModuleOutputData< WDataSetFibers > > | m_fiberOutput |
An output connector used to provide fibers to other modules. More... | |
std::shared_ptr< WModuleOutputData< WDataSetPoints > > | m_pointOutput |
The internal pointOutput to pass data to the WMPointRenderer. More... | |
std::shared_ptr< WOnscreenSelection > | m_onscreenSelection |
Enables possibility for multiselection of points. More... | |
std::vector< std::function< void() > > | m_eventQueue |
A vector for the events. More... | |
std::mutex | m_eventMutex |
A mutex for the vector to make it thread-safe. More... | |
std::vector< WPosition > | m_prediction |
The current prediction. More... | |
WCondition::SPtr | m_eventCondition |
A condition notifying when something was added to the event queue. More... | |
osg::ref_ptr< WKeyboardHandler > | m_keyboardHandler |
The keyboard handler for this point connector. More... | |
WPropBool | m_enableSAPT |
Property to enable the adjusted dijkstra. More... | |
WPropBool | m_enableAdaptiveVisibility |
Property to enable adaptive visibility. More... | |
WPropBool | m_enablePrediction |
Enables the prediction. More... | |
WPropDouble | m_adaptiveVisibilityAngle |
Property to set the angle for the adaptive visibility. More... | |
WPropDouble | m_hiddenOpacity |
Property to set the opacity of the hidden points. More... | |
WPropPosition | m_scaling |
Property for the scaling as Vector. More... | |
WPropBool | m_enableSizes |
Property to enable the sizes. More... | |
Friends | |
class | WMPointConnectorTest |
Test is your best ... 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 WModuleContainer | |
ModuleSharedContainerType | m_modules |
The modules associated with this container. More... | |
std::string | m_name |
Name of the module. More... | |
std::string | m_description |
Description of the module. More... | |
std::shared_mutex | m_errorNotifiersLock |
Lock for error notifiers set. More... | |
std::list< t_ModuleErrorSignalHandlerType > | m_errorNotifiers |
The error notifiers connected to added modules by default. More... | |
std::shared_mutex | m_readyNotifiersLock |
Lock for ready notifiers set. More... | |
std::list< t_ModuleGenericSignalHandlerType > | m_readyNotifiers |
The ready notifiers connected to added modules by default. More... | |
std::shared_mutex | m_associatedNotifiersLock |
Lock for associated notifiers set. More... | |
std::list< t_ModuleGenericSignalHandlerType > | m_associatedNotifiers |
The notifiers connected to added modules by default and fired whenever the module got associated. More... | |
std::shared_mutex | m_removedNotifiersLock |
Lock for remove-notifiers set. More... | |
std::list< t_ModuleGenericSignalHandlerType > | m_removedNotifiers |
The notifiers connected to added modules by default and fired whenever the module got removed again. More... | |
std::shared_mutex | m_connectorNotifiersLock |
Lock for connector-notifiers set. More... | |
std::list< t_GenericSignalHandlerType > | m_connectorEstablishedNotifiers |
The notifiers connected to added modules by default and fired whenever the module connectors got connected. More... | |
std::list< t_GenericSignalHandlerType > | m_connectorClosedNotifiers |
The notifiers connected to added modules by default and fired whenever the module connectors got disconnected. More... | |
std::set< std::shared_ptr< WThreadedRunner > > | m_pendingThreads |
Set of all threads that currently depend upon this container. More... | |
std::shared_mutex | m_pendingThreadsLock |
Lock for m_pendingThreads. More... | |
bool | m_crashIfModuleCrashes |
This flag denotes whether the whole container should be marked as crashed if one of the contained modules crashes. 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... | |
This module connects the points in a point dataset.
Definition at line 57 of file WMPointConnector.h.
typedef std::shared_ptr< std::vector< float > > WMPointConnector::SPFloatVector |
represents a std::shared_ptr to a vector containing a vector of floats.
Definition at line 68 of file WMPointConnector.h.
typedef std::shared_ptr< std::vector< size_t > > WMPointConnector::SPSizeVector |
represents a std::shared_ptr to a vector containing a vector of size_t.
Definition at line 73 of file WMPointConnector.h.
typedef std::shared_ptr< WMPointConnector > WMPointConnector::SPtr |
A shared_ptr to this class.
Definition at line 78 of file WMPointConnector.h.
WMPointConnector::WMPointConnector | ( | ) |
Constructor.
Creates the module skeleton.
Definition at line 46 of file WMPointConnector.cpp.
Referenced by factory().
|
virtual |
Destructor.
Definition at line 54 of file WMPointConnector.cpp.
References WModule::removeConnectors().
void WMPointConnector::acceptPrediction | ( | ) |
Accepts the current prediction.
Definition at line 648 of file WMPointConnector.cpp.
References m_connectorData, m_fiberHandler, m_prediction, and updateAll().
Referenced by WKeyboardHandler::handle().
|
protectedvirtual |
Deactivates or activates the inner modules when active changes.
Reimplemented from WModule.
Definition at line 178 of file WMPointConnector.cpp.
References WModule::m_active, m_fiberDisplay, and m_pointRenderer.
|
protectedvirtual |
Initialize the connectors this module is using.
Reimplemented from WModule.
Definition at line 79 of file WMPointConnector.cpp.
References WModule::connectors(), WModuleOutputData< T >::create(), WModuleInputData< T >::createAndAdd(), WModuleOutputData< T >::createAndAdd(), m_fiberOutput, m_pointInput, and m_pointOutput.
|
private |
Creates the WMFiberDisplay and runs it.
Definition at line 198 of file WMPointConnector.cpp.
References WModuleContainer::createAndAdd(), m_fiberDisplay, m_fiberOutput, WModule::m_properties, and toggleActivationOfModule().
Referenced by moduleMain().
|
private |
Creates the WKeyboardHandler and registers them.
Definition at line 218 of file WMPointConnector.cpp.
References WKernel::getGraphicsEngine(), WKernel::getRunningKernel(), and m_keyboardHandler.
Referenced by moduleMain().
|
private |
Creates the WMPointRenderer and runs it.
Definition at line 184 of file WMPointConnector.cpp.
References WModuleContainer::createAndAdd(), m_pointOutput, m_pointRenderer, WModule::m_properties, and toggleActivationOfModule().
Referenced by moduleMain().
|
private |
Creates a track continuation prediction.
Definition at line 305 of file WMPointConnector.cpp.
References WAngleHelper::findSmoothestPath(), isAdaptivelyHidden(), m_connectorData, m_enableAdaptiveVisibility, m_enablePrediction, m_fiberHandler, and m_prediction.
Referenced by updateAll().
|
virtual |
Due to the prototype design pattern used to build modules, this method returns a new instance of this method.
NOTE: it should never be initialized or modified in some other way. A simple new instance is required.
Reimplemented from WModuleContainer.
Definition at line 59 of file WMPointConnector.cpp.
References WMPointConnector().
|
private |
Finds the point that was clicked and writes it into hitIdx, while return whether a point was hit.
cameraPosition | The position of the camera. |
direction | The direction to check. |
hitIdx | A pointer to a variable where the index of the clicked point is written. |
Definition at line 494 of file WMPointConnector.cpp.
References hitVertex(), m_connectorData, m_enableSizes, m_pointRenderer, and m_scaling.
Referenced by handleClick().
WConnectorData::SPtr WMPointConnector::getConnectorData | ( | ) |
Definition at line 638 of file WMPointConnector.cpp.
References m_connectorData.
Referenced by WFiberActionAddVertex::redo(), WFiberActionMultideselect::redo(), WFiberActionMultiselect::redo(), WFiberActionRemoveVertex::redo(), WFiberHandler::selectFiber(), WFiberHandler::selectLastPoint(), WFiberActionAddVertex::undo(), WFiberActionMultideselect::undo(), WFiberActionMultiselect::undo(), and WFiberActionRemoveVertex::undo().
|
virtual |
Gives back a description of this module.
Reimplemented from WModuleContainer.
Definition at line 74 of file WMPointConnector.cpp.
WFiberHandler::SPtr WMPointConnector::getFiberHandler | ( | ) |
Definition at line 643 of file WMPointConnector.cpp.
References m_fiberHandler.
Referenced by WKeyboardHandler::handle().
|
virtual |
Gives back the name of this module.
Reimplemented from WModuleContainer.
Definition at line 69 of file WMPointConnector.cpp.
std::shared_ptr< WOnscreenSelection > WMPointConnector::getOnscreenSelection | ( | ) |
Definition at line 786 of file WMPointConnector.cpp.
References m_onscreenSelection.
Referenced by WFiberHandler::updateProperty().
WPropPosition WMPointConnector::getScaling | ( | ) |
Definition at line 791 of file WMPointConnector.cpp.
References m_scaling.
Referenced by WKeyboardHandler::handle().
|
virtual |
Get the icon for this module in XPM format.
Reimplemented from WModule.
Definition at line 64 of file WMPointConnector.cpp.
void WMPointConnector::handleClick | ( | osg::Vec3 | cameraPosition, |
osg::Vec3 | direction, | ||
bool | isLeftClick | ||
) |
Handles a click on the drawing area.
It checks all vertices and whether they are clicked.
cameraPosition | The position of the camera. |
direction | The direction of the click. |
isLeftClick | Whether this click is a left or a right click. |
Definition at line 454 of file WMPointConnector.cpp.
References findClickedPoint(), m_connectorData, m_fiberHandler, and updateAll().
Referenced by handleClickSelection().
|
private |
Handles a selection with only one click.
clickType | The type of click (true -> left, false -> right). |
x | The x position. |
y | The y position. |
Definition at line 656 of file WMPointConnector.cpp.
References WKernel::getGraphicsEngine(), WKernel::getRunningKernel(), and handleClick().
Referenced by selectionEnd().
|
private |
Handles the input of this module.
Definition at line 226 of file WMPointConnector.cpp.
References WModule::debugLog(), m_connectorData, m_fiberHandler, m_pointInput, and updateAll().
Referenced by moduleMain().
|
private |
Handles the selection of a left click.
positions | The positions in the selection. |
Definition at line 682 of file WMPointConnector.cpp.
References wlog::debug(), WAngleHelper::findSmoothestPath(), isAdaptivelyHidden(), m_connectorData, m_enableSAPT, m_fiberHandler, and updateAll().
Referenced by selectionEnd().
|
private |
Handles the selection of a right click.
positions | The positions in the selection. |
Definition at line 717 of file WMPointConnector.cpp.
References m_connectorData, m_fiberHandler, and updateAll().
Referenced by selectionEnd().
|
private |
Checks if a vertex with a certain radius is hit by a ray.
rayStart | The starting point of the ray. |
rayDir | The direction of the ray. |
vertex | The vertex to be checked. |
radius | The radius of the vertex. |
Definition at line 530 of file WMPointConnector.cpp.
Referenced by findClickedPoint().
|
private |
Checks whether a vertex is adaptively hidden.
vertex | The vertex to check. |
from | Optional parameter for vertex to check from. |
Definition at line 408 of file WMPointConnector.cpp.
References WAngleHelper::calculateAngle(), m_adaptiveVisibilityAngle, m_connectorData, m_enableAdaptiveVisibility, and m_fiberHandler.
Referenced by createPrediction(), handleLeftSelection(), and updatePoints().
|
protectedvirtual |
Entry point after loading the module.
Runs in separate thread.
Reimplemented from WModuleContainer.
Definition at line 119 of file WMPointConnector.cpp.
References WConditionSet::add(), createFiberDisplay(), createHandler(), createPointRenderer(), WModule::debugLog(), WKernel::getGraphicsEngine(), WKernel::getRunningKernel(), handleInput(), m_eventCondition, m_eventMutex, m_eventQueue, m_keyboardHandler, WModule::m_moduleState, m_onscreenSelection, m_pointInput, WModule::m_progress, WThreadedRunner::m_shutdownFlag, WModule::ready(), selectionEnd(), WConditionSet::setResetable(), WModuleContainer::stop(), and WConditionSet::wait().
|
protectedvirtual |
Initialize the properties for this module.
Reimplemented from WModule.
Definition at line 89 of file WMPointConnector.cpp.
References m_adaptiveVisibilityAngle, m_enableAdaptiveVisibility, m_enablePrediction, m_enableSAPT, m_enableSizes, m_fiberHandler, m_hiddenOpacity, WModule::m_properties, m_scaling, WModule::properties(), pushEventQueue(), and updateAll().
void WMPointConnector::pushEventQueue | ( | std::function< void() > | func | ) |
Pushes a function to the selection queue.
func | The function |
Definition at line 675 of file WMPointConnector.cpp.
References m_eventCondition, m_eventMutex, and m_eventQueue.
Referenced by WKeyboardHandler::handle(), properties(), and selectionEnd().
|
private |
The end callback of m_onscreenSelection.
type | The type of the selection. |
x | The x position of the selection. |
y | The y position of the selection. |
Definition at line 743 of file WMPointConnector.cpp.
References handleClickSelection(), handleLeftSelection(), handleRightSelection(), m_connectorData, m_onscreenSelection, m_scaling, and pushEventQueue().
Referenced by moduleMain().
|
private |
Toggles the activation of a module.
mod | THe module to change the activation of. |
Definition at line 212 of file WMPointConnector.cpp.
Referenced by createFiberDisplay(), and createPointRenderer().
void WMPointConnector::updateAll | ( | ) |
Updates all.
Definition at line 343 of file WMPointConnector.cpp.
References createPrediction(), updateOutput(), and updatePoints().
Referenced by acceptPrediction(), handleClick(), handleInput(), handleLeftSelection(), handleRightSelection(), properties(), WFiberActionAddVertex::redo(), WFiberActionMultideselect::redo(), WFiberActionMultiselect::redo(), WFiberActionRemoveVertex::redo(), WFiberHandler::selectFiber(), WFiberHandler::toggleFiber(), WFiberActionAddVertex::undo(), WFiberActionMultideselect::undo(), WFiberActionMultiselect::undo(), and WFiberActionRemoveVertex::undo().
void WMPointConnector::updateOutput | ( | ) |
Updates the fiber output.
Definition at line 567 of file WMPointConnector.cpp.
References m_fiberDisplay, m_fiberHandler, m_fiberOutput, m_hiddenOpacity, and m_scaling.
Referenced by WFiberHandler::addFiberAt(), WFiberHandler::removeFiber(), and updateAll().
void WMPointConnector::updatePoints | ( | ) |
Redraws the current vertices with their colors.
Definition at line 350 of file WMPointConnector.cpp.
References isAdaptivelyHidden(), m_connectorData, m_enableSizes, m_fiberHandler, m_hiddenOpacity, m_pointOutput, m_pointRenderer, m_prediction, and m_scaling.
Referenced by updateAll().
|
friend |
|
private |
Property to set the angle for the adaptive visibility.
Definition at line 368 of file WMPointConnector.h.
Referenced by isAdaptivelyHidden(), and properties().
|
private |
The data of this module.
Definition at line 298 of file WMPointConnector.h.
Referenced by acceptPrediction(), createPrediction(), findClickedPoint(), getConnectorData(), handleClick(), handleInput(), handleLeftSelection(), handleRightSelection(), isAdaptivelyHidden(), selectionEnd(), and updatePoints().
|
private |
Property to enable adaptive visibility.
Definition at line 358 of file WMPointConnector.h.
Referenced by createPrediction(), isAdaptivelyHidden(), and properties().
|
private |
Enables the prediction.
Definition at line 363 of file WMPointConnector.h.
Referenced by createPrediction(), and properties().
|
private |
Property to enable the adjusted dijkstra.
Definition at line 353 of file WMPointConnector.h.
Referenced by handleLeftSelection(), and properties().
|
private |
Property to enable the sizes.
Definition at line 383 of file WMPointConnector.h.
Referenced by findClickedPoint(), properties(), and updatePoints().
|
private |
A condition notifying when something was added to the event queue.
Definition at line 343 of file WMPointConnector.h.
Referenced by moduleMain(), and pushEventQueue().
|
private |
A mutex for the vector to make it thread-safe.
Definition at line 333 of file WMPointConnector.h.
Referenced by moduleMain(), and pushEventQueue().
|
private |
A vector for the events.
Definition at line 328 of file WMPointConnector.h.
Referenced by moduleMain(), and pushEventQueue().
|
private |
The WMFiberDisplay associated with this module.
Definition at line 293 of file WMPointConnector.h.
Referenced by activate(), createFiberDisplay(), and updateOutput().
|
private |
The WFiberHandler of this module.
Definition at line 303 of file WMPointConnector.h.
Referenced by acceptPrediction(), createPrediction(), getFiberHandler(), handleClick(), handleInput(), handleLeftSelection(), handleRightSelection(), isAdaptivelyHidden(), properties(), updateOutput(), and updatePoints().
|
private |
An output connector used to provide fibers to other modules.
Definition at line 313 of file WMPointConnector.h.
Referenced by connectors(), createFiberDisplay(), and updateOutput().
|
private |
Property to set the opacity of the hidden points.
Definition at line 373 of file WMPointConnector.h.
Referenced by properties(), updateOutput(), and updatePoints().
|
private |
The keyboard handler for this point connector.
Definition at line 348 of file WMPointConnector.h.
Referenced by createHandler(), and moduleMain().
|
private |
Enables possibility for multiselection of points.
Definition at line 323 of file WMPointConnector.h.
Referenced by getOnscreenSelection(), moduleMain(), and selectionEnd().
|
private |
An input connector used to get points from other modules.
Definition at line 308 of file WMPointConnector.h.
Referenced by connectors(), handleInput(), and moduleMain().
|
private |
The internal pointOutput to pass data to the WMPointRenderer.
Definition at line 318 of file WMPointConnector.h.
Referenced by connectors(), createPointRenderer(), and updatePoints().
|
private |
The WMPointRenderer associated with this module.
Definition at line 288 of file WMPointConnector.h.
Referenced by activate(), createPointRenderer(), findClickedPoint(), and updatePoints().
|
private |
The current prediction.
Definition at line 338 of file WMPointConnector.h.
Referenced by acceptPrediction(), createPrediction(), and updatePoints().
|
private |
Property for the scaling as Vector.
Definition at line 378 of file WMPointConnector.h.
Referenced by findClickedPoint(), getScaling(), properties(), selectionEnd(), updateOutput(), and updatePoints().