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

Adaptor class between the roi manager and the fiber display. More...

#include <WFiberSelector.h>

+ Collaboration diagram for WFiberSelector:

Public Types

typedef std::shared_ptr< WFiberSelectorSPtr
 Fiber selector pointer. More...
 
typedef std::shared_ptr< const WFiberSelectorConstSPtr
 Const fiber selector pointer. More...
 

Public Member Functions

 WFiberSelector (std::shared_ptr< const WDataSetFibers > fibers)
 constructor More...
 
 ~WFiberSelector ()
 destructor More...
 
size_t size ()
 Return the number of fibers in the dataset. More...
 
std::shared_ptr< std::vector< bool > > getBitfield ()
 getter More...
 
WColor getFiberColor (size_t fidx) const
 Get color for fiber with given index. More...
 
std::shared_ptr< std::vector< size_t > > getStarts ()
 getter for the line start index array More...
 
std::shared_ptr< std::vector< size_t > > getLengths ()
 getter for the line length array More...
 
void setDirty ()
 setter sets the dirty flag More...
 
bool getDirty ()
 Get the current dirty-state. More...
 
WCondition::SPtr getDirtyCondition ()
 Condition that fires upon a recalculation of the fiber selection. More...
 
bool isNothingFiltered () const
 Returns true if no fiber gets filtered out because there is no branch in the ROI tree. More...
 

Protected Member Functions

void slotAddRoi (osg::ref_ptr< WROI > roi)
 listener function for inserting rois More...
 
void slotRemoveRoi (osg::ref_ptr< WROI > roi)
 listener function for removing rois More...
 
void slotRemoveBranch (std::shared_ptr< WRMBranch > branch)
 listener function for removing rois More...
 

Private Member Functions

void recalculate ()
 update the bitfield when there was a change in the roi structure More...
 

Private Attributes

std::shared_ptr< const WDataSetFibersm_fibers
 Pointer to the fiber data set. More...
 
size_t m_size
 number of fibers in the dataset More...
 
bool m_dirty
 dirty flag More...
 
std::shared_ptr< WKdTreem_kdTree
 Stores a pointer to the kdTree used for fiber selection. More...
 
std::shared_ptr< std::vector< bool > > m_outputBitfield
 bit field of activated fibers More...
 
std::shared_ptr< std::vector< float > > m_outputColorMap
 Map each fiber to a color. More...
 
std::list< std::shared_ptr< WSelectorBranch > > m_branches
 list of branches int he roi structure More...
 
std::shared_ptr< boost::function< void(osg::ref_ptr< WROI >) > > m_assocRoiSignal
 Signal that can be used to update the selector. More...
 
std::shared_ptr< boost::function< void(osg::ref_ptr< WROI >) > > m_removeRoiSignal
 Signal that can be used to update the selector. More...
 
std::shared_ptr< boost::function< void(std::shared_ptr< WRMBranch >) > > m_removeBranchSignal
 Signal for updating the selector. More...
 
std::shared_ptr< boost::function< void() > > m_changeRoiSignal
 Signal that can be used to update the selector. More...
 
WCondition::SPtr m_dirtyCondition
 Condition that fires on setDirty. More...
 

Detailed Description

Adaptor class between the roi manager and the fiber display.

Definition at line 41 of file WFiberSelector.h.

Member Typedef Documentation

◆ ConstSPtr

typedef std::shared_ptr< const WFiberSelector > WFiberSelector::ConstSPtr

Const fiber selector pointer.

Definition at line 52 of file WFiberSelector.h.

◆ SPtr

typedef std::shared_ptr< WFiberSelector > WFiberSelector::SPtr

Fiber selector pointer.

Definition at line 47 of file WFiberSelector.h.

Constructor & Destructor Documentation

◆ WFiberSelector()

WFiberSelector::WFiberSelector ( std::shared_ptr< const WDataSetFibers fibers)
explicit

constructor

Parameters
fiberspointer to the datset this selector works on

Definition at line 35 of file WFiberSelector.cpp.

References WKernel::getRoiManager(), WKernel::getRunningKernel(), m_assocRoiSignal, m_changeRoiSignal, m_fibers, m_kdTree, m_outputBitfield, m_outputColorMap, m_removeBranchSignal, m_removeRoiSignal, m_size, setDirty(), slotAddRoi(), slotRemoveBranch(), and slotRemoveRoi().

+ Here is the call graph for this function:

◆ ~WFiberSelector()

WFiberSelector::~WFiberSelector ( )

destructor

Definition at line 77 of file WFiberSelector.cpp.

References WKernel::getRoiManager(), WKernel::getRunningKernel(), m_assocRoiSignal, m_branches, m_changeRoiSignal, m_removeBranchSignal, and m_removeRoiSignal.

+ Here is the call graph for this function:

Member Function Documentation

◆ getBitfield()

std::shared_ptr< std::vector< bool > > WFiberSelector::getBitfield ( )

getter

Returns
the bitfield calculated from all active rois

Definition at line 157 of file WFiberSelector.cpp.

References m_outputBitfield.

◆ getDirty()

bool WFiberSelector::getDirty ( )

Get the current dirty-state.

Returns
the dirty flag

Definition at line 208 of file WFiberSelector.cpp.

References m_dirty.

◆ getDirtyCondition()

WCondition::SPtr WFiberSelector::getDirtyCondition ( )

Condition that fires upon a recalculation of the fiber selection.

Returns
the condition

Definition at line 213 of file WFiberSelector.cpp.

References m_dirtyCondition.

◆ getFiberColor()

WColor WFiberSelector::getFiberColor ( size_t  fidx) const

Get color for fiber with given index.

Parameters
fidxthe index. Returns white for invalid index.
Returns
color.

Definition at line 218 of file WFiberSelector.cpp.

References m_outputBitfield, and m_outputColorMap.

◆ getLengths()

std::shared_ptr< std::vector< size_t > > WFiberSelector::getLengths ( )
inline

getter for the line length array

Returns
line lengths

Definition at line 192 of file WFiberSelector.h.

References m_fibers.

◆ getStarts()

std::shared_ptr< std::vector< size_t > > WFiberSelector::getStarts ( )
inline

getter for the line start index array

Returns
line starts

Definition at line 187 of file WFiberSelector.h.

References m_fibers.

◆ isNothingFiltered()

bool WFiberSelector::isNothingFiltered ( ) const

Returns true if no fiber gets filtered out because there is no branch in the ROI tree.

Returns
true if all fibers should be shown

Definition at line 231 of file WFiberSelector.cpp.

References m_branches.

◆ recalculate()

void WFiberSelector::recalculate ( )
private

update the bitfield when there was a change in the roi structure

Definition at line 162 of file WFiberSelector.cpp.

References m_branches, m_dirty, and m_size.

Referenced by setDirty().

+ Here is the caller graph for this function:

◆ setDirty()

void WFiberSelector::setDirty ( )

setter sets the dirty flag

Definition at line 201 of file WFiberSelector.cpp.

References m_dirty, m_dirtyCondition, and recalculate().

Referenced by slotAddRoi(), slotRemoveBranch(), slotRemoveRoi(), and WFiberSelector().

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

◆ size()

size_t WFiberSelector::size ( )
inline

Return the number of fibers in the dataset.

Returns
number of fibers

Definition at line 182 of file WFiberSelector.h.

References m_size.

◆ slotAddRoi()

void WFiberSelector::slotAddRoi ( osg::ref_ptr< WROI roi)
protected

listener function for inserting rois

Parameters
roinew roi inserted into the roi structure

Definition at line 98 of file WFiberSelector.cpp.

References WKernel::getRoiManager(), WKernel::getRunningKernel(), m_branches, m_changeRoiSignal, m_fibers, m_kdTree, and setDirty().

Referenced by WFiberSelector().

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

◆ slotRemoveBranch()

void WFiberSelector::slotRemoveBranch ( std::shared_ptr< WRMBranch branch)
protected

listener function for removing rois

Parameters
branchbranch that is being removed

Definition at line 142 of file WFiberSelector.cpp.

References m_branches, m_changeRoiSignal, and setDirty().

Referenced by WFiberSelector().

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

◆ slotRemoveRoi()

void WFiberSelector::slotRemoveRoi ( osg::ref_ptr< WROI roi)
protected

listener function for removing rois

Parameters
roiroi that is being removed

Definition at line 125 of file WFiberSelector.cpp.

References m_branches, m_changeRoiSignal, and setDirty().

Referenced by WFiberSelector().

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

Member Data Documentation

◆ m_assocRoiSignal

std::shared_ptr< boost::function< void( osg::ref_ptr< WROI > ) > > WFiberSelector::m_assocRoiSignal
private

Signal that can be used to update the selector.

Definition at line 171 of file WFiberSelector.h.

Referenced by WFiberSelector(), and ~WFiberSelector().

◆ m_branches

std::list< std::shared_ptr<WSelectorBranch> > WFiberSelector::m_branches
private

list of branches int he roi structure

Definition at line 169 of file WFiberSelector.h.

Referenced by isNothingFiltered(), recalculate(), slotAddRoi(), slotRemoveBranch(), slotRemoveRoi(), and ~WFiberSelector().

◆ m_changeRoiSignal

std::shared_ptr< boost::function< void() > > WFiberSelector::m_changeRoiSignal
private

Signal that can be used to update the selector.

Definition at line 174 of file WFiberSelector.h.

Referenced by slotAddRoi(), slotRemoveBranch(), slotRemoveRoi(), WFiberSelector(), and ~WFiberSelector().

◆ m_dirty

bool WFiberSelector::m_dirty
private

dirty flag

Definition at line 158 of file WFiberSelector.h.

Referenced by getDirty(), recalculate(), and setDirty().

◆ m_dirtyCondition

WCondition::SPtr WFiberSelector::m_dirtyCondition
private

Condition that fires on setDirty.

Definition at line 179 of file WFiberSelector.h.

Referenced by getDirtyCondition(), and setDirty().

◆ m_fibers

std::shared_ptr< const WDataSetFibers > WFiberSelector::m_fibers
private

Pointer to the fiber data set.

Definition at line 154 of file WFiberSelector.h.

Referenced by getLengths(), getStarts(), slotAddRoi(), and WFiberSelector().

◆ m_kdTree

std::shared_ptr< WKdTree > WFiberSelector::m_kdTree
private

Stores a pointer to the kdTree used for fiber selection.

Definition at line 163 of file WFiberSelector.h.

Referenced by slotAddRoi(), and WFiberSelector().

◆ m_outputBitfield

std::shared_ptr< std::vector< bool > > WFiberSelector::m_outputBitfield
private

bit field of activated fibers

Definition at line 165 of file WFiberSelector.h.

Referenced by getBitfield(), getFiberColor(), and WFiberSelector().

◆ m_outputColorMap

std::shared_ptr< std::vector< float > > WFiberSelector::m_outputColorMap
private

Map each fiber to a color.

Definition at line 167 of file WFiberSelector.h.

Referenced by getFiberColor(), and WFiberSelector().

◆ m_removeBranchSignal

std::shared_ptr< boost::function< void( std::shared_ptr< WRMBranch > ) > > WFiberSelector::m_removeBranchSignal
private

Signal for updating the selector.

Definition at line 173 of file WFiberSelector.h.

Referenced by WFiberSelector(), and ~WFiberSelector().

◆ m_removeRoiSignal

std::shared_ptr< boost::function< void( osg::ref_ptr< WROI > ) > > WFiberSelector::m_removeRoiSignal
private

Signal that can be used to update the selector.

Definition at line 172 of file WFiberSelector.h.

Referenced by WFiberSelector(), and ~WFiberSelector().

◆ m_size

size_t WFiberSelector::m_size
private

number of fibers in the dataset

Definition at line 156 of file WFiberSelector.h.

Referenced by recalculate(), size(), and WFiberSelector().


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