Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes

WFiberSelector Class Reference

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

#include <WFiberSelector.h>

List of all members.

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 144 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 158 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 187 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:
roi new roi inserted into the roi structure

Definition at line 89 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:
branch branch that is being removed

Definition at line 131 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:
roi roi that is being removed

Definition at line 115 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:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends