OpenWalnut  1.4.0
Classes | Public Member Functions | Private Attributes | List of all members
WROIArbitrary Class Reference

A box containing information on an arbitrarily shaped a region of interest. More...

#include <WROIArbitrary.h>

+ Inheritance diagram for WROIArbitrary:

Classes

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

Public Member Functions

 WROIArbitrary (size_t nbCoordsX, size_t nbCoordsY, size_t nbCoordsZ, const WMatrix< double > &mat, const std::vector< float > &vals, boost::shared_ptr< WTriangleMesh > triMesh, float threshold, float maxThreshold, WColor color)
 constructor More...
 
 WROIArbitrary (size_t nbCoordsX, size_t nbCoordsY, size_t nbCoordsZ, const WMatrix< double > &mat, const std::vector< float > &vals, float maxThreshold, WColor color)
 constructor More...
 
virtual ~WROIArbitrary ()
 destructor More...
 
void properties ()
 initalizes the properties More...
 
void propertyChanged ()
 Used as callback to mark a change in the ROI. More...
 
void setThreshold (double threshold)
 setter More...
 
double getThreshold ()
 getter More...
 
std::vector< size_tgetCoordDimensions ()
 Get the number of vertices in the three coordinate directions. More...
 
std::vector< double > getCoordOffsets ()
 Get the vertex offsets in the three coordinate directions. More...
 
float getValue (size_t i)
 Get the i-th value of the data defining the ROI. More...
 
virtual void updateGFX ()
 updates the graphics More...
 
- Public Member Functions inherited from WROI
virtual ~WROI ()
 Need virtual destructor because of virtual function. More...
 
void setNot (bool isNot=true)
 sets the NOT flag More...
 
bool isNot ()
 getter for NOT flag More...
 
bool active ()
 getter More...
 
void setActive (bool active)
 setter More...
 
void hide ()
 hides the roi in the scene More...
 
void unhide ()
 unhides the roi in the scene More...
 
bool dirty ()
 Getter for modified flag. More...
 
void setDirty ()
 sets the dirty flag More...
 
boost::shared_ptr< WPropertiesgetProperties ()
 Getter. More...
 
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. More...
 
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. More...
 
WPropBool invertProperty ()
 Invert property. More...
 
WPropBool showProperty ()
 The property for toggling ROI visibility. More...
 
WPropBool activeProperty ()
 The active property. More...
 
WPropString nameProperty ()
 The name property. More...
 

Private Attributes

std::vector< size_tm_nbCoordsVec
 The data's number of vertices in X, Y and Z direction. More...
 
WMatrix< double > m_matrix
 The 4x4 transformation matrix for the vertices. More...
 
const std::vector< float > m_vals
 The data at the vertices. More...
 
boost::shared_ptr< WTriangleMeshm_triMesh
 This triangle mesh is provided as output through the connector. More...
 
WPropDouble m_threshold
 the threshold More...
 
WColor m_color
 The ROI color. More...
 

Additional Inherited Members

- Public Types inherited from WROI
typedef osg::ref_ptr< WROIRefPtr
 Ref Pointer type. More...
 
- Protected Member Functions inherited from WROI
void properties ()
 initializes the roi's properties More...
 
void propertyChanged ()
 callback when a property gets changed More...
 
void signalRoiChange ()
 signals a roi change to all subscribers More...
 
- 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. More...
 
boost::shared_ptr< WPropertiesm_properties
 the property object for the module More...
 
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 More...
 
WPropBool m_active
 indicates if the roi is active More...
 
WPropBool m_show
 indicates if the roi is visible in the scene More...
 
WPropBool m_not
 indicates if the roi is negated More...
 
WPropString m_name
 name of the ROI. More...
 
WPropDouble m_threshold
 threshold for an arbitrary roi More...
 
WPropColor m_color
 A color for painting the roi in the scene. More...
 
std::list< boost::shared_ptr
< boost::function< void() > > > 
m_changeNotifiers
 The notifiers connected to added rois by default. More...
 
boost::shared_mutex m_associatedNotifiersLock
 Lock for associated notifiers set. More...
 

Detailed Description

A box containing information on an arbitrarily shaped a region of interest.

Definition at line 49 of file WROIArbitrary.h.

Constructor & Destructor Documentation

WROIArbitrary::WROIArbitrary ( size_t  nbCoordsX,
size_t  nbCoordsY,
size_t  nbCoordsZ,
const WMatrix< double > &  mat,
const std::vector< float > &  vals,
boost::shared_ptr< WTriangleMesh triMesh,
float  threshold,
float  maxThreshold,
WColor  color 
)

constructor

Parameters
nbCoordsXnumber of vertices in X direction
nbCoordsYnumber of vertices in Y direction
nbCoordsZnumber of vertices in Z direction
matthe matrix transforming the vertices from canonical space
valsthe values at the vertices
triMesh
threshold
maxThresholdThe maximum of the values.
colorthe color to use for the ROI.

Definition at line 41 of file WROIArbitrary.cpp.

References WGraphicsEngine::getGraphicsEngine(), m_nbCoordsVec, m_threshold, properties(), WROI::setDirty(), and updateGFX().

WROIArbitrary::WROIArbitrary ( size_t  nbCoordsX,
size_t  nbCoordsY,
size_t  nbCoordsZ,
const WMatrix< double > &  mat,
const std::vector< float > &  vals,
float  maxThreshold,
WColor  color 
)

constructor

Parameters
nbCoordsXnumber of vertices in X direction
nbCoordsYnumber of vertices in Y direction
nbCoordsZnumber of vertices in Z direction
matthe matrix transforming the vertices from canonical space
valsthe values at the vertices
maxThresholdThe maximum of the values.
colorthe color to use for the ROI.

Definition at line 72 of file WROIArbitrary.cpp.

References WGraphicsEngine::getGraphicsEngine(), m_nbCoordsVec, m_threshold, properties(), WROI::setDirty(), and updateGFX().

WROIArbitrary::~WROIArbitrary ( )
virtual

destructor

Definition at line 100 of file WROIArbitrary.cpp.

Member Function Documentation

std::vector< size_t > WROIArbitrary::getCoordDimensions ( )

Get the number of vertices in the three coordinate directions.

Returns
A vector containing the numbers of vertices

Definition at line 129 of file WROIArbitrary.cpp.

References m_nbCoordsVec.

Referenced by WSelectorRoi::recalculate().

std::vector< double > WROIArbitrary::getCoordOffsets ( )

Get the vertex offsets in the three coordinate directions.

Returns
The offsets between point in each of the three coordinate directions

Definition at line 134 of file WROIArbitrary.cpp.

References m_matrix.

double WROIArbitrary::getThreshold ( )

getter

Returns
The threshold on the data in box which leads to the arbitrary ROI

Definition at line 124 of file WROIArbitrary.cpp.

References m_threshold.

float WROIArbitrary::getValue ( size_t  i)

Get the i-th value of the data defining the ROI.

Parameters
ithe index of the value
Returns
The value at the given index.

Definition at line 143 of file WROIArbitrary.cpp.

References m_vals.

void WROIArbitrary::properties ( )

initalizes the properties

Definition at line 108 of file WROIArbitrary.cpp.

References WROI::m_properties, m_threshold, and propertyChanged().

Referenced by WROIArbitrary().

void WROIArbitrary::propertyChanged ( )

Used as callback to mark a change in the ROI.

Definition at line 113 of file WROIArbitrary.cpp.

References WROI::setDirty().

Referenced by properties().

void WROIArbitrary::setThreshold ( double  threshold)

setter

Parameters
threshold

Definition at line 118 of file WROIArbitrary.cpp.

References m_threshold, and WROI::setDirty().

void WROIArbitrary::updateGFX ( )
virtual

Member Data Documentation

WColor WROIArbitrary::m_color
private

The ROI color.

Definition at line 159 of file WROIArbitrary.h.

Referenced by updateGFX().

WMatrix< double > WROIArbitrary::m_matrix
private

The 4x4 transformation matrix for the vertices.

Definition at line 148 of file WROIArbitrary.h.

Referenced by getCoordOffsets(), and updateGFX().

std::vector< size_t > WROIArbitrary::m_nbCoordsVec
private

The data's number of vertices in X, Y and Z direction.

Definition at line 146 of file WROIArbitrary.h.

Referenced by getCoordDimensions(), updateGFX(), and WROIArbitrary().

WPropDouble WROIArbitrary::m_threshold
private

the threshold

Definition at line 154 of file WROIArbitrary.h.

Referenced by getThreshold(), properties(), setThreshold(), updateGFX(), and WROIArbitrary().

boost::shared_ptr< WTriangleMesh > WROIArbitrary::m_triMesh
private

This triangle mesh is provided as output through the connector.

Definition at line 152 of file WROIArbitrary.h.

Referenced by updateGFX().

const std::vector< float > WROIArbitrary::m_vals
private

The data at the vertices.

Definition at line 150 of file WROIArbitrary.h.

Referenced by getValue(), and updateGFX().


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