OpenWalnut  1.5.0dev
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
WMPickingDVR Class Reference

Allows to select a 3D position in a DVR by selecting a 2D location on the screen. More...

#include <WMPickingDVR.h>

+ Inheritance diagram for WMPickingDVR:
+ Collaboration diagram for WMPickingDVR:

Public Member Functions

 WMPickingDVR ()
 Creates the module for drawing contour lines. More...
 
virtual ~WMPickingDVR ()
 Destroys this module. 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< WModulefactory () const
 Due to the prototype design pattern used to build modules, this method returns a new instance of this method. More...
 
- Public Member Functions inherited from WModule
 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 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...
 
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 requirements ()
 Initialize requirements for this module. 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 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 Member Functions

void pickHandler (WPickInfo pickInfo)
 Handles picking and calculates ray start/end-position. More...
 
void setPickPositionSource ()
 Check if a WSinglePosition is connected and dis/connects pick signal from clicking accordingly. More...
 
void setPickPositionFromConnector ()
 Set the current pick position to the WSinglePosition from the connector. More...
 
void updateModuleGUI (std::string pickingMode)
 Shows and hide relevant properties according to chosen picking mode. More...
 
std::pair< int, int > getWYSIWYPBounds (const std::vector< double > &vecAlphaAcc)
 Calculates which interval is the most visible according to WYSIWYP (http://dx.doi.org/10.1109/TVCG.2012.292) More...
 
void calculateIntervalsWYSIWYP (const std::vector< double > &vecAlphaAcc, std::vector< int > &vecIndicesLowerBounds, std::vector< int > &vecIndicesUpperBounds)
 Calculates the object intervals according to WYSIWYP (http://dx.doi.org/10.1109/TVCG.2012.292) More...
 
void updatePositionIndicator (osg::Vec3f position)
 Set the new position of the graphical representation of the picked position. More...
 
std::vector< std::pair< double, WPosition > > sampleIntensityAlongRay ()
 Samples the scalar data set along the viewing ray. More...
 
double getTFAlpha (const double scalar) const
 Evaluate transfer function. More...
 
double compositingStep (const double accAlpha, double currentAlpha)
 Perform front to back compositing. More...
 
std::vector< std::pair< double, WPosition > > computeVisiTraceCandidates ()
 Get the Visitrace candidates. More...
 
WPosition getPickedDVRPosition (std::string pickingMode, bool *pickingSuccess)
 Compute the position picked in the DVR. More...
 
void updateCurveRendering ()
 Create the line rendering of the VisiTrace line. More...
 

Private Attributes

std::shared_ptr< WModuleInputData< WDataSetScalar > > m_scalarIC
 Input connector for scalar data. More...
 
std::shared_ptr< WModuleInputData< WDataSetSingle > > m_transferFunction
 The transfer function as an input data set. More...
 
std::shared_ptr< WModuleInputData< WSinglePosition > > m_externalScreenPos
 External screen position for picking instead of by clicking. More...
 
osg::ref_ptr< WGEManagedGroupNodem_rootNode
 All other geodes or OSG nodes of this module will be attached on this node. More...
 
osg::ref_ptr< osg::Geode > m_geode
 The geometry rendered by this module. More...
 
std::shared_ptr< WConditionm_propCondition
 Needed for recreating the geometry, incase when resolution changes. More...
 
WPropBool m_triggerCalculation
 Trigger Property, will be triggered by the pickhandle. More...
 
WPropBool m_continuousDrawing
 Should line be shown during drawing acrion? More...
 
WPropSelection m_selectionType
 Property determining what type of structure will be selected. More...
 
std::shared_ptr< WItemSelectionm_selectionTypesList
 List of selection types for m_selectionType. More...
 
WPropColor m_lineColor
 Color of line/s indicating selected position/s. More...
 
WPropInt m_sampleSteps
 Number of samples along the ray. More...
 
WPropBool m_opacityCorrectionEnabled
 If active, the opacity of the classified fragment gets scaled according to sample count to ensure relative opacities even if sampling number changes (m_sampleSteps) More...
 
WPropDouble m_alphaThreshold
 Alpha value and alpha percentage. More...
 
WPropDouble m_lineThickness
 Thinkness of line/s indicating selected position/s. More...
 
WPropDouble m_crossSize
 Picking crosshair length of lines. More...
 
WPropSelection m_pickingCriteriaCur
 Current picking method. More...
 
std::shared_ptr< WItemSelectionm_pickingCriteriaList
 Possible picking criteria for m_pickingCriteriaCur. More...
 
WPropSelection m_wysiwypPositionType
 Selecting the type of position obtained by WYSIWYP. More...
 
std::shared_ptr< WItemSelectionm_wysiwypPositionTypesList
 Possible position types for WYSIWYP. More...
 
osg::Vec3f m_posStart
 Intersection position start. More...
 
osg::Vec3f m_posEnd
 Intersection position end. More...
 
bool m_intersected
 Indicates if intersected positions are valid. More...
 
bool m_pickInProgress
 Indicates whether continouos picking is still in progress. More...
 
std::vector< WPositionm_curve3D
 Positions representing the from VisiTrace selection mode. More...
 
WVisiTrace m_visiTrace
 Class providing VisiTrace optimization. More...
 
WPosition m_oldRayStart
 Used to check if position of picking has changed. More...
 
bool m_pickHandlerConnected
 Is the signal from the pick handler connected? More...
 

Additional Inherited Members

- 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< 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...
 
- 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< 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...
 

Detailed Description

Allows to select a 3D position in a DVR by selecting a 2D location on the screen.

Definition at line 47 of file WMPickingDVR.h.

Constructor & Destructor Documentation

◆ WMPickingDVR()

WMPickingDVR::WMPickingDVR ( )

Creates the module for drawing contour lines.

Definition at line 65 of file WMPickingDVR.cpp.

Referenced by factory().

+ Here is the caller graph for this function:

◆ ~WMPickingDVR()

WMPickingDVR::~WMPickingDVR ( )
virtual

Destroys this module.

Definition at line 77 of file WMPickingDVR.cpp.

Member Function Documentation

◆ calculateIntervalsWYSIWYP()

void WMPickingDVR::calculateIntervalsWYSIWYP ( const std::vector< double > &  vecAlphaAcc,
std::vector< int > &  vecIndicesLowerBounds,
std::vector< int > &  vecIndicesUpperBounds 
)
private

Calculates the object intervals according to WYSIWYP (http://dx.doi.org/10.1109/TVCG.2012.292)

Parameters
vecAlphaAccThe accumulated alpha values at the samples along the viewing ray
vecIndicesLowerBoundsReturns the lower bounds of all intervals.
vecIndicesUpperBoundsReturns the upper bounds of all intervals.

Definition at line 496 of file WMPickingDVR.cpp.

Referenced by computeVisiTraceCandidates(), and getWYSIWYPBounds().

+ Here is the caller graph for this function:

◆ compositingStep()

double WMPickingDVR::compositingStep ( const double  accAlpha,
double  currentAlpha 
)
private

Perform front to back compositing.

Parameters
accAlphaOpacity accumulated until this step.
currentAlphaOpacity obtained from data value at this step.
Returns
New accumulated opacity.

Definition at line 644 of file WMPickingDVR.cpp.

References m_opacityCorrectionEnabled, and m_sampleSteps.

Referenced by computeVisiTraceCandidates(), and getPickedDVRPosition().

+ Here is the caller graph for this function:

◆ computeVisiTraceCandidates()

std::vector< std::pair< double, WPosition > > WMPickingDVR::computeVisiTraceCandidates ( )
private

Get the Visitrace candidates.

Returns
Candidates as pairs of opacity jump and location.

Definition at line 664 of file WMPickingDVR.cpp.

References calculateIntervalsWYSIWYP(), compositingStep(), getTFAlpha(), and sampleIntensityAlongRay().

Referenced by moduleMain().

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

◆ connectors()

void WMPickingDVR::connectors ( )
protectedvirtual

Initialize the connectors this module is using.

Reimplemented from WModule.

Definition at line 96 of file WMPickingDVR.cpp.

References WModule::connectors(), WModuleInputData< T >::createAndAdd(), m_externalScreenPos, m_scalarIC, and m_transferFunction.

+ Here is the call graph for this function:

◆ factory()

std::shared_ptr< WModule > WMPickingDVR::factory ( ) const
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.

Returns
the prototype used to create every module in OpenWalnut.

Implements WModule.

Definition at line 81 of file WMPickingDVR.cpp.

References WMPickingDVR().

+ Here is the call graph for this function:

◆ getDescription()

const std::string WMPickingDVR::getDescription ( ) const
virtual

Gives back a description of this module.

Returns
description to module.

Implements WPrototyped.

Definition at line 91 of file WMPickingDVR.cpp.

◆ getName()

const std::string WMPickingDVR::getName ( ) const
virtual

Gives back the name of this module.

Returns
the module's name.

Implements WPrototyped.

Definition at line 86 of file WMPickingDVR.cpp.

◆ getPickedDVRPosition()

WPosition WMPickingDVR::getPickedDVRPosition ( std::string  pickingMode,
bool *  pickingSuccess 
)
private

Compute the position picked in the DVR.

Parameters
pickingModeWhich mode for picking is chosen.
pickingSuccessVariable will be set to whether a position in the DVR has been determined or not.
Returns
The picked position.

Definition at line 703 of file WMPickingDVR.cpp.

References compositingStep(), getTFAlpha(), getWYSIWYPBounds(), m_alphaThreshold, m_posEnd, m_posStart, m_sampleSteps, m_wysiwypPositionType, and sampleIntensityAlongRay().

Referenced by moduleMain().

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

◆ getTFAlpha()

double WMPickingDVR::getTFAlpha ( const double  scalar) const
private

Evaluate transfer function.

Parameters
scalarEvaluate transfer function for this value.
Returns
Opacity obtained from transfer function.

Definition at line 596 of file WMPickingDVR.cpp.

References WMPickingColor< T >::getAlpha(), m_scalarIC, m_transferFunction, WMPickingColor< T >::normalize(), WMPickingColor< T >::setAlpha(), WMPickingColor< T >::setBlue(), WMPickingColor< T >::setGreen(), and WMPickingColor< T >::setRed().

Referenced by computeVisiTraceCandidates(), and getPickedDVRPosition().

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

◆ getWYSIWYPBounds()

std::pair< int, int > WMPickingDVR::getWYSIWYPBounds ( const std::vector< double > &  vecAlphaAcc)
private

Calculates which interval is the most visible according to WYSIWYP (http://dx.doi.org/10.1109/TVCG.2012.292)

Parameters
vecAlphaAccThe accumulated alpha values at the samples along the viewing ray
Returns
lower and upper bounds of the determined interval

Definition at line 464 of file WMPickingDVR.cpp.

References calculateIntervalsWYSIWYP().

Referenced by getPickedDVRPosition().

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

◆ moduleMain()

void WMPickingDVR::moduleMain ( )
protectedvirtual

◆ pickHandler()

void WMPickingDVR::pickHandler ( WPickInfo  pickInfo)
private

Handles picking and calculates ray start/end-position.

Parameters
pickInfoclass summarizing all important facts about the pick

Definition at line 340 of file WMPickingDVR.cpp.

References WGraphicsEngine::getGraphicsEngine(), WPickInfo::getMouseButton(), WPickInfo::getName(), WPickInfo::getPickPixel(), m_intersected, m_pickInProgress, m_posEnd, m_posStart, m_propCondition, WPickHandler::unpickString, WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y().

Referenced by setPickPositionSource().

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

◆ properties()

void WMPickingDVR::properties ( )
protectedvirtual

◆ requirements()

void WMPickingDVR::requirements ( )
protectedvirtual

Initialize requirements for this module.

Reimplemented from WModule.

Definition at line 201 of file WMPickingDVR.cpp.

References WModule::m_requirements.

◆ sampleIntensityAlongRay()

std::vector< std::pair< double, WPosition > > WMPickingDVR::sampleIntensityAlongRay ( )
private

Samples the scalar data set along the viewing ray.

Returns
vector of scalar values at sample positions

Definition at line 556 of file WMPickingDVR.cpp.

References WModule::errorLog(), m_posEnd, m_posStart, m_sampleSteps, and m_scalarIC.

Referenced by computeVisiTraceCandidates(), and getPickedDVRPosition().

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

◆ setPickPositionFromConnector()

void WMPickingDVR::setPickPositionFromConnector ( )
private

Set the current pick position to the WSinglePosition from the connector.

Definition at line 404 of file WMPickingDVR.cpp.

References WGraphicsEngine::getGraphicsEngine(), m_externalScreenPos, m_intersected, m_posEnd, and m_posStart.

Referenced by moduleMain().

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

◆ setPickPositionSource()

void WMPickingDVR::setPickPositionSource ( )
private

Check if a WSinglePosition is connected and dis/connects pick signal from clicking accordingly.

Definition at line 378 of file WMPickingDVR.cpp.

References WGraphicsEngine::getGraphicsEngine(), m_externalScreenPos, m_pickHandlerConnected, and pickHandler().

Referenced by moduleMain().

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

◆ updateCurveRendering()

void WMPickingDVR::updateCurveRendering ( )
private

Create the line rendering of the VisiTrace line.

Definition at line 872 of file WMPickingDVR.cpp.

References m_curve3D, m_geode, m_lineColor, m_lineThickness, m_rootNode, and WMixinVector< ValueT >::size().

Referenced by moduleMain().

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

◆ updateModuleGUI()

void WMPickingDVR::updateModuleGUI ( std::string  pickingMode)
private

Shows and hide relevant properties according to chosen picking mode.

Parameters
pickingModeThe type of picking criterion used

Definition at line 427 of file WMPickingDVR.cpp.

References m_alphaThreshold, m_continuousDrawing, m_crossSize, m_pickingCriteriaCur, m_selectionType, and m_wysiwypPositionType.

Referenced by moduleMain().

+ Here is the caller graph for this function:

◆ updatePositionIndicator()

void WMPickingDVR::updatePositionIndicator ( osg::Vec3f  position)
private

Set the new position of the graphical representation of the picked position.

Parameters
positionThe position where the indicator should appear.

Definition at line 529 of file WMPickingDVR.cpp.

References m_crossSize, m_geode, m_lineColor, m_lineThickness, and m_rootNode.

Referenced by moduleMain().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_alphaThreshold

WPropDouble WMPickingDVR::m_alphaThreshold
private

Alpha value and alpha percentage.

Definition at line 235 of file WMPickingDVR.h.

Referenced by getPickedDVRPosition(), properties(), and updateModuleGUI().

◆ m_continuousDrawing

WPropBool WMPickingDVR::m_continuousDrawing
private

Should line be shown during drawing acrion?

Definition at line 219 of file WMPickingDVR.h.

Referenced by moduleMain(), properties(), and updateModuleGUI().

◆ m_crossSize

WPropDouble WMPickingDVR::m_crossSize
private

Picking crosshair length of lines.

Definition at line 239 of file WMPickingDVR.h.

Referenced by properties(), updateModuleGUI(), and updatePositionIndicator().

◆ m_curve3D

std::vector<WPosition> WMPickingDVR::m_curve3D
private

Positions representing the from VisiTrace selection mode.

Definition at line 257 of file WMPickingDVR.h.

Referenced by moduleMain(), and updateCurveRendering().

◆ m_externalScreenPos

std::shared_ptr< WModuleInputData< WSinglePosition > > WMPickingDVR::m_externalScreenPos
private

External screen position for picking instead of by clicking.

Definition at line 209 of file WMPickingDVR.h.

Referenced by connectors(), moduleMain(), setPickPositionFromConnector(), and setPickPositionSource().

◆ m_geode

osg::ref_ptr< osg::Geode > WMPickingDVR::m_geode
private

The geometry rendered by this module.

Definition at line 213 of file WMPickingDVR.h.

Referenced by updateCurveRendering(), and updatePositionIndicator().

◆ m_intersected

bool WMPickingDVR::m_intersected
private

Indicates if intersected positions are valid.

Definition at line 253 of file WMPickingDVR.h.

Referenced by moduleMain(), pickHandler(), and setPickPositionFromConnector().

◆ m_lineColor

WPropColor WMPickingDVR::m_lineColor
private

Color of line/s indicating selected position/s.

Definition at line 225 of file WMPickingDVR.h.

Referenced by properties(), updateCurveRendering(), and updatePositionIndicator().

◆ m_lineThickness

WPropDouble WMPickingDVR::m_lineThickness
private

Thinkness of line/s indicating selected position/s.

Definition at line 237 of file WMPickingDVR.h.

Referenced by properties(), updateCurveRendering(), and updatePositionIndicator().

◆ m_oldRayStart

WPosition WMPickingDVR::m_oldRayStart
private

Used to check if position of picking has changed.

Definition at line 261 of file WMPickingDVR.h.

Referenced by moduleMain().

◆ m_opacityCorrectionEnabled

WPropBool WMPickingDVR::m_opacityCorrectionEnabled
private

If active, the opacity of the classified fragment gets scaled according to sample count to ensure relative opacities even if sampling number changes (m_sampleSteps)

Definition at line 233 of file WMPickingDVR.h.

Referenced by compositingStep(), and properties().

◆ m_pickHandlerConnected

bool WMPickingDVR::m_pickHandlerConnected
private

Is the signal from the pick handler connected?

Definition at line 263 of file WMPickingDVR.h.

Referenced by setPickPositionSource().

◆ m_pickingCriteriaCur

WPropSelection WMPickingDVR::m_pickingCriteriaCur
private

Current picking method.

Definition at line 241 of file WMPickingDVR.h.

Referenced by moduleMain(), properties(), and updateModuleGUI().

◆ m_pickingCriteriaList

std::shared_ptr< WItemSelection > WMPickingDVR::m_pickingCriteriaList
private

Possible picking criteria for m_pickingCriteriaCur.

Definition at line 243 of file WMPickingDVR.h.

Referenced by properties().

◆ m_pickInProgress

bool WMPickingDVR::m_pickInProgress
private

Indicates whether continouos picking is still in progress.

Definition at line 255 of file WMPickingDVR.h.

Referenced by moduleMain(), and pickHandler().

◆ m_posEnd

osg::Vec3f WMPickingDVR::m_posEnd
private

Intersection position end.

Definition at line 251 of file WMPickingDVR.h.

Referenced by getPickedDVRPosition(), pickHandler(), sampleIntensityAlongRay(), and setPickPositionFromConnector().

◆ m_posStart

osg::Vec3f WMPickingDVR::m_posStart
private

Intersection position start.

Definition at line 249 of file WMPickingDVR.h.

Referenced by getPickedDVRPosition(), moduleMain(), pickHandler(), sampleIntensityAlongRay(), and setPickPositionFromConnector().

◆ m_propCondition

std::shared_ptr< WCondition > WMPickingDVR::m_propCondition
private

Needed for recreating the geometry, incase when resolution changes.

Definition at line 215 of file WMPickingDVR.h.

Referenced by moduleMain(), pickHandler(), and properties().

◆ m_rootNode

osg::ref_ptr< WGEManagedGroupNode > WMPickingDVR::m_rootNode
private

All other geodes or OSG nodes of this module will be attached on this node.

Definition at line 211 of file WMPickingDVR.h.

Referenced by moduleMain(), updateCurveRendering(), and updatePositionIndicator().

◆ m_sampleSteps

WPropInt WMPickingDVR::m_sampleSteps
private

Number of samples along the ray.

Definition at line 227 of file WMPickingDVR.h.

Referenced by compositingStep(), getPickedDVRPosition(), properties(), and sampleIntensityAlongRay().

◆ m_scalarIC

std::shared_ptr< WModuleInputData< WDataSetScalar > > WMPickingDVR::m_scalarIC
private

Input connector for scalar data.

Definition at line 205 of file WMPickingDVR.h.

Referenced by connectors(), getTFAlpha(), moduleMain(), and sampleIntensityAlongRay().

◆ m_selectionType

WPropSelection WMPickingDVR::m_selectionType
private

Property determining what type of structure will be selected.

Definition at line 221 of file WMPickingDVR.h.

Referenced by moduleMain(), properties(), and updateModuleGUI().

◆ m_selectionTypesList

std::shared_ptr< WItemSelection > WMPickingDVR::m_selectionTypesList
private

List of selection types for m_selectionType.

Definition at line 223 of file WMPickingDVR.h.

Referenced by properties().

◆ m_transferFunction

std::shared_ptr< WModuleInputData< WDataSetSingle > > WMPickingDVR::m_transferFunction
private

The transfer function as an input data set.

Definition at line 207 of file WMPickingDVR.h.

Referenced by connectors(), getTFAlpha(), and moduleMain().

◆ m_triggerCalculation

WPropBool WMPickingDVR::m_triggerCalculation
private

Trigger Property, will be triggered by the pickhandle.

Definition at line 217 of file WMPickingDVR.h.

◆ m_visiTrace

WVisiTrace WMPickingDVR::m_visiTrace
private

Class providing VisiTrace optimization.

Definition at line 259 of file WMPickingDVR.h.

Referenced by moduleMain().

◆ m_wysiwypPositionType

WPropSelection WMPickingDVR::m_wysiwypPositionType
private

Selecting the type of position obtained by WYSIWYP.

Definition at line 245 of file WMPickingDVR.h.

Referenced by getPickedDVRPosition(), properties(), and updateModuleGUI().

◆ m_wysiwypPositionTypesList

std::shared_ptr< WItemSelection > WMPickingDVR::m_wysiwypPositionTypesList
private

Possible position types for WYSIWYP.

Definition at line 247 of file WMPickingDVR.h.

Referenced by properties().


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