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

Protected Member Functions

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

Private Member Functions

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

Private Attributes

boost::shared_ptr< const
WDataSetFibers
m_fibers
 Pointer to the fiber data set.
size_t m_size
 number of fibers in the dataset
bool m_dirty
 dirty flag
boost::shared_ptr< WKdTreem_kdTree
 Stores a pointer to the kdTree used for fiber selection.
boost::shared_ptr< std::vector
< bool > > 
m_outputBitfield
 bit field of activated fibers
boost::shared_ptr< std::vector
< bool > > 
m_workerBitfield
 bit field of activated fibers
std::list< boost::shared_ptr
< WSelectorBranch > > 
m_branches
 list of branches int he roi structure
boost::shared_ptr
< boost::function< void(osg::ref_ptr
< WROI >) > > 
m_assocRoiSignal
 Signal that can be used to update the selector.
boost::shared_ptr
< boost::function< void(osg::ref_ptr
< WROI >) > > 
m_removeRoiSignal
 Signal that can be used to update the selector.
boost::shared_ptr
< boost::function< void(boost::shared_ptr
< WRMBranch >) > > 
m_removeBranchSignal
 Signal for updating the selector.
boost::shared_ptr
< boost::function< void() > > 
m_changeRoiSignal
 Signal that can be used to update the selector.

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: