OpenWalnut  1.5.0dev
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:
+ Collaboration 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, std::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_t > getCoordDimensions ()
 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...
 
std::shared_ptr< WPropertiesgetProperties ()
 Getter. More...
 
void addROIChangeNotifier (std::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 (std::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_t > m_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...
 
std::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...
 
std::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< std::shared_ptr< boost::function< void() > > > m_changeNotifiers
 The notifiers connected to added rois by default. More...
 
std::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 48 of file WROIArbitrary.h.

Constructor & Destructor Documentation

◆ WROIArbitrary() [1/2]

WROIArbitrary::WROIArbitrary ( size_t  nbCoordsX,
size_t  nbCoordsY,
size_t  nbCoordsZ,
const WMatrix< double > &  mat,
const std::vector< float > &  vals,
std::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 40 of file WROIArbitrary.cpp.

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

+ Here is the call graph for this function:

◆ WROIArbitrary() [2/2]

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 71 of file WROIArbitrary.cpp.

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

+ Here is the call graph for this function:

◆ ~WROIArbitrary()

WROIArbitrary::~WROIArbitrary ( )
virtual

destructor

Definition at line 99 of file WROIArbitrary.cpp.

Member Function Documentation

◆ getCoordDimensions()

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 128 of file WROIArbitrary.cpp.

References m_nbCoordsVec.

◆ getCoordOffsets()

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 133 of file WROIArbitrary.cpp.

References m_matrix.

◆ getThreshold()

double WROIArbitrary::getThreshold ( )

getter

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

Definition at line 123 of file WROIArbitrary.cpp.

References m_threshold.

◆ getValue()

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 142 of file WROIArbitrary.cpp.

References m_vals.

◆ properties()

void WROIArbitrary::properties ( )

initalizes the properties

Definition at line 107 of file WROIArbitrary.cpp.

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

Referenced by WROIArbitrary().

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

◆ propertyChanged()

void WROIArbitrary::propertyChanged ( )

Used as callback to mark a change in the ROI.

Definition at line 112 of file WROIArbitrary.cpp.

References WROI::setDirty().

Referenced by properties().

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

◆ setThreshold()

void WROIArbitrary::setThreshold ( double  threshold)

setter

Parameters
threshold

Definition at line 117 of file WROIArbitrary.cpp.

References m_threshold, and WROI::setDirty().

+ Here is the call graph for this function:

◆ updateGFX()

void WROIArbitrary::updateGFX ( )
virtual

updates the graphics

Implements WROI.

Definition at line 147 of file WROIArbitrary.cpp.

References WMarchingLegoAlgorithm::generateSurface(), m_color, WROI::m_dirty, m_matrix, m_nbCoordsVec, m_threshold, m_triMesh, and m_vals.

Referenced by WROIArbitrary::ROIArbNodeCallback::operator()(), and WROIArbitrary().

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

Member Data Documentation

◆ m_color

WColor WROIArbitrary::m_color
private

The ROI color.

Definition at line 158 of file WROIArbitrary.h.

Referenced by updateGFX().

◆ m_matrix

WMatrix< double > WROIArbitrary::m_matrix
private

The 4x4 transformation matrix for the vertices.

Definition at line 147 of file WROIArbitrary.h.

Referenced by getCoordOffsets(), and updateGFX().

◆ m_nbCoordsVec

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

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

Definition at line 145 of file WROIArbitrary.h.

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

◆ m_threshold

WPropDouble WROIArbitrary::m_threshold
private

the threshold

Definition at line 153 of file WROIArbitrary.h.

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

◆ m_triMesh

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

This triangle mesh is provided as output through the connector.

Definition at line 151 of file WROIArbitrary.h.

Referenced by updateGFX().

◆ m_vals

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

The data at the vertices.

Definition at line 149 of file WROIArbitrary.h.

Referenced by getValue(), and updateGFX().


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