OpenWalnut  1.4.0
Public Types | 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 Types

typedef boost::shared_ptr
< WFiberSelector
SPtr
 Fiber selector pointer.
typedef boost::shared_ptr
< const WFiberSelector
ConstSPtr
 Const fiber selector pointer.

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
WColor getFiberColor (size_t fidx) const
 Get color for fiber with given index.
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
bool getDirty ()
 Get the current dirty-state.
WCondition::SPtr getDirtyCondition ()
 Condition that fires upon a recalculation of the fiber selection.
bool isNothingFiltered () const
 Returns true if no fiber gets filtered out because there is no branch in the ROI tree.

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
< float > > 
m_outputColorMap
 Map each fiber to a color.
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.
WCondition::SPtr m_dirtyCondition
 Condition that fires on setDirty.

Detailed Description

Adaptor class between the roi manager and the fiber display.

Definition at line 42 of file WFiberSelector.h.


Member Typedef Documentation

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

Const fiber selector pointer.

Definition at line 53 of file WFiberSelector.h.

typedef boost::shared_ptr< WFiberSelector > WFiberSelector::SPtr

Fiber selector pointer.

Definition at line 48 of file WFiberSelector.h.


Constructor & Destructor Documentation

WFiberSelector::WFiberSelector ( boost::shared_ptr< const WDataSetFibers fibers) [explicit]

Member Function Documentation

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

getter

Returns:
the bitfield calculated from all active rois

Definition at line 154 of file WFiberSelector.cpp.

References m_outputBitfield.

Get the current dirty-state.

Returns:
the dirty flag

Definition at line 205 of file WFiberSelector.cpp.

References m_dirty.

Condition that fires upon a recalculation of the fiber selection.

Returns:
the condition

Definition at line 210 of file WFiberSelector.cpp.

References m_dirtyCondition.

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

References m_outputBitfield, and m_outputColorMap.

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

getter for the line length array

Returns:
line lengths

Definition at line 193 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 188 of file WFiberSelector.h.

References m_fibers.

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

References m_branches.

void WFiberSelector::recalculate ( ) [private]

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

Definition at line 159 of file WFiberSelector.cpp.

References m_branches, m_dirty, and m_size.

Referenced by setDirty().

setter sets the dirty flag

Definition at line 198 of file WFiberSelector.cpp.

References m_dirty, m_dirtyCondition, and recalculate().

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

Return the number of fibers in the dataset.

Returns:
number of fibers

Definition at line 183 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 95 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 139 of file WFiberSelector.cpp.

References m_branches, m_changeRoiSignal, 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 122 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 172 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 170 of file WFiberSelector.h.

Referenced by isNothingFiltered(), 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 175 of file WFiberSelector.h.

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

bool WFiberSelector::m_dirty [private]

dirty flag

Definition at line 159 of file WFiberSelector.h.

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

Condition that fires on setDirty.

Definition at line 180 of file WFiberSelector.h.

Referenced by getDirtyCondition(), and setDirty().

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

Pointer to the fiber data set.

Definition at line 155 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 164 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 166 of file WFiberSelector.h.

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

boost::shared_ptr< std::vector< float > > WFiberSelector::m_outputColorMap [private]

Map each fiber to a color.

Definition at line 168 of file WFiberSelector.h.

Referenced by getFiberColor(), and WFiberSelector().

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

Signal for updating the selector.

Definition at line 174 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 173 of file WFiberSelector.h.

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

number of fibers in the dataset

Definition at line 157 of file WFiberSelector.h.

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


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