OpenWalnut  1.3.1
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
WROIBox Class Reference

A box representing a region of interest. More...

#include <WROIBox.h>

+ Inheritance diagram for WROIBox:

Classes

class  ROIBoxNodeCallback
 Node callback to handle updates properly. More...

Public Member Functions

 WROIBox (WPosition minPos, WPosition maxPos)
 Yields box with desired extremal points minPos and maxPos.
WPosition getMinPos () const
 Get the corner of the box that has minimal x, y and z values.
WPosition getMaxPos () const
 Get the corner of the box that has maximal x, y and z values.
void setColor (osg::Vec4 color)
 Setter for standard color.
void setNotColor (osg::Vec4 color)
 Setter for color in negated state.
- Public Member Functions inherited from WROI
virtual ~WROI ()
 Need virtual destructor because of virtual function.
void setNot (bool isNot=true)
 sets the NOT flag
bool isNot ()
 getter for NOT flag
bool active ()
 getter
void setActive (bool active)
 setter
void hide ()
 hides the roi in the scene
void unhide ()
 unhides the roi in the scene
bool dirty ()
 Getter for modified flag.
void setDirty ()
 sets the dirty flag
boost::shared_ptr< WPropertiesgetProperties ()
 Getter.
void addROIChangeNotifier (boost::shared_ptr< boost::function< void() > > notifier)
 Add a specified notifier to the list of default notifiers which get connected to each roi.
void removeROIChangeNotifier (boost::shared_ptr< boost::function< void() > > notifier)
 Remove a specified notifier from the list of default notifiers which get connected to each roi.

Private Member Functions

void registerRedrawRequest (WPickInfo pickInfo)
 note that there was a pick
virtual void updateGFX ()
 updates the graphics

Private Attributes

size_t boxId
 Id of the current box.
WPosition m_minPos
 The minimum position of the box.
WPosition m_maxPos
 The maximum position of the box.
bool m_isPicked
 Indicates whether the box is currently picked or not.
WPosition m_pickedPosition
 Caches the old picked position to a allow for cmoparison.
WVector3d m_pickNormal
 Store the normal that occured when the pick action was started.
WVector2d m_oldPixelPosition
 Caches the old picked position to a allow for cmoparison.
int16_t m_oldScrollWheel
 caches scroll wheel value
boost::shared_mutex m_updateLock
 Lock to prevent concurrent threads trying to update the osg node.
osg::ref_ptr< osg::Geometry > m_surfaceGeometry
 store this pointer for use in updates
WPickInfo m_pickInfo
 Stores the pick information for potential redraw.
boost::shared_ptr< WGEViewerm_viewer
 makes viewer available all over this class.
osg::Vec4 m_color
 the color of the box
osg::Vec4 m_notColor
 the color of the box when negated

Static Private Attributes

static size_t maxBoxId = 0
 Current maximum boxId over all boxes.

Additional Inherited Members

- Protected Member Functions inherited from WROI
void properties ()
 initializes the roi's properties
void propertyChanged ()
 callback when a property gets changed
void signalRoiChange ()
 signals a roi change to all subscribers
- Protected Attributes inherited from WROI
osg::ref_ptr< WPickHandlerm_pickHandler
 A pointer to the pick handler used to get gui events for moving the box.
boost::shared_ptr< WPropertiesm_properties
 the property object for the module
WPropBool m_dirty
 dirty flag, indicating the graphics needs updating, it is no longer used for bitfield updating since these customers get the update notification via callback
WPropBool m_active
 indicates if the roi is active
WPropBool m_show
 indicates if the roi is visible in the scene
WPropBool m_not
 indicates if the roi is negated
WPropDouble m_threshold
 threshold for an arbitrary roi
WPropColor m_color
 A color for painting the roi in the scene.
std::list< boost::shared_ptr
< boost::function< void() > > > 
m_changeNotifiers
 The notifiers connected to added rois by default.
boost::shared_mutex m_associatedNotifiersLock
 Lock for associated notifiers set.

Detailed Description

A box representing a region of interest.

Definition at line 44 of file WROIBox.h.

Constructor & Destructor Documentation

WROIBox::WROIBox ( WPosition  minPos,
WPosition  maxPos 
)

Yields box with desired extremal points minPos and maxPos.

Parameters
minPosLeft, lower, front corner. Minimal x, y and z coordinates.
maxPosRight, upper, back corner. Maximal x, y and z coordinates.

Definition at line 117 of file WROIBox.cpp.

References boxId, WGraphicsEngine::getGraphicsEngine(), m_maxPos, m_minPos, WROI::m_not, WROI::m_pickHandler, m_surfaceGeometry, m_viewer, registerRedrawRequest(), and WROI::setDirty().

Member Function Documentation

WPosition WROIBox::getMaxPos ( ) const

Get the corner of the box that has maximal x, y and z values.

Returns
the corner position

Definition at line 201 of file WROIBox.cpp.

References m_maxPos.

WPosition WROIBox::getMinPos ( ) const

Get the corner of the box that has minimal x, y and z values.

Returns
the corner position

Definition at line 196 of file WROIBox.cpp.

References m_minPos.

void WROIBox::registerRedrawRequest ( WPickInfo  pickInfo)
private

note that there was a pick

Parameters
pickInfoinfo from pick

Definition at line 206 of file WROIBox.cpp.

References m_pickInfo, and m_updateLock.

Referenced by WROIBox().

void WROIBox::setColor ( osg::Vec4  color)

Setter for standard color.

Parameters
colorThe new color.

Definition at line 352 of file WROIBox.cpp.

References m_color.

void WROIBox::setNotColor ( osg::Vec4  color)

Setter for color in negated state.

Parameters
colorThe new color.

Definition at line 357 of file WROIBox.cpp.

References m_notColor.

void WROIBox::updateGFX ( )
privatevirtual

Member Data Documentation

size_t WROIBox::boxId
private

Id of the current box.

Definition at line 85 of file WROIBox.h.

Referenced by updateGFX(), and WROIBox().

osg::Vec4 WROIBox::m_color
private

the color of the box

Definition at line 101 of file WROIBox.h.

Referenced by setColor(), and updateGFX().

bool WROIBox::m_isPicked
private

Indicates whether the box is currently picked or not.

Definition at line 89 of file WROIBox.h.

Referenced by updateGFX().

WPosition WROIBox::m_maxPos
private

The maximum position of the box.

Definition at line 88 of file WROIBox.h.

Referenced by getMaxPos(), updateGFX(), and WROIBox().

WPosition WROIBox::m_minPos
private

The minimum position of the box.

Definition at line 87 of file WROIBox.h.

Referenced by getMinPos(), updateGFX(), and WROIBox().

osg::Vec4 WROIBox::m_notColor
private

the color of the box when negated

Definition at line 103 of file WROIBox.h.

Referenced by setNotColor(), and updateGFX().

WVector2d WROIBox::m_oldPixelPosition
private

Caches the old picked position to a allow for cmoparison.

Definition at line 92 of file WROIBox.h.

Referenced by updateGFX().

int16_t WROIBox::m_oldScrollWheel
private

caches scroll wheel value

Definition at line 93 of file WROIBox.h.

Referenced by updateGFX().

WPosition WROIBox::m_pickedPosition
private

Caches the old picked position to a allow for cmoparison.

Definition at line 90 of file WROIBox.h.

WPickInfo WROIBox::m_pickInfo
private

Stores the pick information for potential redraw.

Definition at line 97 of file WROIBox.h.

Referenced by registerRedrawRequest(), and updateGFX().

WVector3d WROIBox::m_pickNormal
private

Store the normal that occured when the pick action was started.

Definition at line 91 of file WROIBox.h.

Referenced by updateGFX().

osg::ref_ptr< osg::Geometry > WROIBox::m_surfaceGeometry
private

store this pointer for use in updates

Definition at line 95 of file WROIBox.h.

Referenced by updateGFX(), and WROIBox().

boost::shared_mutex WROIBox::m_updateLock
private

Lock to prevent concurrent threads trying to update the osg node.

Definition at line 94 of file WROIBox.h.

Referenced by registerRedrawRequest(), and updateGFX().

boost::shared_ptr< WGEViewer > WROIBox::m_viewer
private

makes viewer available all over this class.

Definition at line 99 of file WROIBox.h.

Referenced by updateGFX(), and WROIBox().

size_t WROIBox::maxBoxId = 0
staticprivate

Current maximum boxId over all boxes.

Definition at line 84 of file WROIBox.h.


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