OpenWalnut
1.4.0
|
Adaptor class between the roi manager and the fiber display. More...
#include <WFiberSelector.h>
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< WKdTree > | m_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. |
Adaptor class between the roi manager and the fiber display.
Definition at line 42 of file WFiberSelector.h.
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.
WFiberSelector::WFiberSelector | ( | boost::shared_ptr< const WDataSetFibers > | fibers | ) | [explicit] |
constructor
fibers | pointer to the datset this selector works on |
Definition at line 34 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().
destructor
Definition at line 74 of file WFiberSelector.cpp.
References WKernel::getRoiManager(), WKernel::getRunningKernel(), m_assocRoiSignal, m_branches, m_changeRoiSignal, m_removeBranchSignal, and m_removeRoiSignal.
boost::shared_ptr< std::vector< bool > > WFiberSelector::getBitfield | ( | ) |
getter
Definition at line 154 of file WFiberSelector.cpp.
References m_outputBitfield.
bool WFiberSelector::getDirty | ( | ) |
Get the current dirty-state.
Definition at line 205 of file WFiberSelector.cpp.
References m_dirty.
Condition that fires upon a recalculation of the fiber selection.
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.
fidx | the index. Returns white for invalid index. |
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
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
Definition at line 188 of file WFiberSelector.h.
References m_fibers.
bool WFiberSelector::isNothingFiltered | ( | ) | const |
Returns true if no fiber gets filtered out because there is no branch in the ROI tree.
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().
void WFiberSelector::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().
size_t WFiberSelector::size | ( | ) | [inline] |
Return the number of fibers in the dataset.
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
roi | new 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
branch | branch 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
roi | roi that is being removed |
Definition at line 122 of file WFiberSelector.cpp.
References m_branches, m_changeRoiSignal, and setDirty().
Referenced by WFiberSelector().
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().
size_t WFiberSelector::m_size [private] |
number of fibers in the dataset
Definition at line 157 of file WFiberSelector.h.
Referenced by recalculate(), size(), and WFiberSelector().