OpenWalnut  1.3.1
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>

Public Member Functions

 WFiberSelector (boost::shared_ptr< const WDataSetFibers > fibers)
 constructor More...
 
 ~WFiberSelector ()
 destructor More...
 
size_t size ()
 Return the number of fibers in the dataset. More...
 
boost::shared_ptr< std::vector
< bool > > 
getBitfield ()
 getter More...
 
boost::shared_ptr< std::vector
< size_t > > 
getStarts ()
 getter for the line start index array More...
 
boost::shared_ptr< std::vector
< size_t > > 
getLengths ()
 getter for the line length array More...
 
void setDirty ()
 setter sets the dirty flag 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 (boost::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

boost::shared_ptr< const
WDataSetFibers
m_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...
 
boost::shared_ptr< WKdTreem_kdTree
 Stores a pointer to the kdTree used for fiber selection. More...
 
boost::shared_ptr< std::vector
< bool > > 
m_outputBitfield
 bit field of activated fibers More...
 
boost::shared_ptr< std::vector
< bool > > 
m_workerBitfield
 bit field of activated fibers More...
 
std::list< boost::shared_ptr
< WSelectorBranch > > 
m_branches
 list of branches int he roi structure More...
 
boost::shared_ptr
< boost::function< void(osg::ref_ptr
< WROI >) > > 
m_assocRoiSignal
 Signal that can be used to update the selector. More...
 
boost::shared_ptr
< boost::function< void(osg::ref_ptr
< WROI >) > > 
m_removeRoiSignal
 Signal that can be used to update the selector. More...
 
boost::shared_ptr
< boost::function< void(boost::shared_ptr
< WRMBranch >) > > 
m_removeBranchSignal
 Signal for updating the selector. More...
 
boost::shared_ptr
< boost::function< void() > > 
m_changeRoiSignal
 Signal that can be used to update the selector. More...
 

Detailed Description

Adaptor class between the roi manager and the fiber display.

Definition at line 43 of file WFiberSelector.h.

Constructor & Destructor Documentation

WFiberSelector::WFiberSelector ( boost::shared_ptr< const WDataSetFibers fibers)
explicit
WFiberSelector::~WFiberSelector ( )

Member Function Documentation

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

getter

Returns
the bitfield calculated from all active rois

Definition at line 147 of file WFiberSelector.cpp.

References m_branches, m_dirty, m_outputBitfield, and recalculate().

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

getter for the line length array

Returns
line lengths

Definition at line 149 of file WFiberSelector.h.

References m_fibers.

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

getter for the line start index array

Returns
line starts

Definition at line 144 of file WFiberSelector.h.

References m_fibers.

void WFiberSelector::recalculate ( )
private

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

Definition at line 161 of file WFiberSelector.cpp.

References m_branches, m_dirty, m_size, and m_workerBitfield.

Referenced by getBitfield(), and setDirty().

void WFiberSelector::setDirty ( )

setter sets the dirty flag

Definition at line 190 of file WFiberSelector.cpp.

References m_dirty, and recalculate().

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

size_t WFiberSelector::size ( )
inline

Return the number of fibers in the dataset.

Returns
number of fibers

Definition at line 139 of file WFiberSelector.h.

References m_size.

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 92 of file WFiberSelector.cpp.

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

Referenced by WFiberSelector().

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

listener function for removing rois

Parameters
branchbranch that is being removed

Definition at line 134 of file WFiberSelector.cpp.

References m_branches, and setDirty().

Referenced by WFiberSelector().

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

listener function for removing rois

Parameters
roiroi that is being removed

Definition at line 118 of file WFiberSelector.cpp.

References m_branches, m_changeRoiSignal, and setDirty().

Referenced by WFiberSelector().

Member Data Documentation

boost::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 133 of file WFiberSelector.h.

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

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

list of branches int he roi structure

Definition at line 131 of file WFiberSelector.h.

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

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

Signal that can be used to update the selector.

Definition at line 136 of file WFiberSelector.h.

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

bool WFiberSelector::m_dirty
private

dirty flag

Definition at line 120 of file WFiberSelector.h.

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

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

Pointer to the fiber data set.

Definition at line 116 of file WFiberSelector.h.

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

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

Stores a pointer to the kdTree used for fiber selection.

Definition at line 125 of file WFiberSelector.h.

Referenced by slotAddRoi(), and WFiberSelector().

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

bit field of activated fibers

Definition at line 127 of file WFiberSelector.h.

Referenced by getBitfield(), and WFiberSelector().

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

Signal for updating the selector.

Definition at line 135 of file WFiberSelector.h.

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

boost::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 134 of file WFiberSelector.h.

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

size_t WFiberSelector::m_size
private

number of fibers in the dataset

Definition at line 118 of file WFiberSelector.h.

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

boost::shared_ptr< std::vector< bool > > WFiberSelector::m_workerBitfield
private

bit field of activated fibers

Definition at line 129 of file WFiberSelector.h.

Referenced by recalculate().


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