OpenWalnut
1.5.0dev
|
Adaptor class between the roi manager and the fiber display. More...
#include <WFiberSelector.h>
Public Types | |
typedef std::shared_ptr< WFiberSelector > | SPtr |
Fiber selector pointer. More... | |
typedef std::shared_ptr< const WFiberSelector > | ConstSPtr |
Const fiber selector pointer. More... | |
Public Member Functions | |
WFiberSelector (std::shared_ptr< const WDataSetFibers > fibers) | |
constructor More... | |
~WFiberSelector () | |
destructor More... | |
size_t | size () |
Return the number of fibers in the dataset. More... | |
std::shared_ptr< std::vector< bool > > | getBitfield () |
getter More... | |
WColor | getFiberColor (size_t fidx) const |
Get color for fiber with given index. More... | |
std::shared_ptr< std::vector< size_t > > | getStarts () |
getter for the line start index array More... | |
std::shared_ptr< std::vector< size_t > > | getLengths () |
getter for the line length array More... | |
void | setDirty () |
setter sets the dirty flag More... | |
bool | getDirty () |
Get the current dirty-state. More... | |
WCondition::SPtr | getDirtyCondition () |
Condition that fires upon a recalculation of the fiber selection. More... | |
bool | isNothingFiltered () const |
Returns true if no fiber gets filtered out because there is no branch in the ROI tree. 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 (std::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 | |
std::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... | |
std::shared_ptr< WKdTree > | m_kdTree |
Stores a pointer to the kdTree used for fiber selection. More... | |
std::shared_ptr< std::vector< bool > > | m_outputBitfield |
bit field of activated fibers More... | |
std::shared_ptr< std::vector< float > > | m_outputColorMap |
Map each fiber to a color. More... | |
std::list< std::shared_ptr< WSelectorBranch > > | m_branches |
list of branches int he roi structure More... | |
std::shared_ptr< boost::function< void(osg::ref_ptr< WROI >) > > | m_assocRoiSignal |
Signal that can be used to update the selector. More... | |
std::shared_ptr< boost::function< void(osg::ref_ptr< WROI >) > > | m_removeRoiSignal |
Signal that can be used to update the selector. More... | |
std::shared_ptr< boost::function< void(std::shared_ptr< WRMBranch >) > > | m_removeBranchSignal |
Signal for updating the selector. More... | |
std::shared_ptr< boost::function< void() > > | m_changeRoiSignal |
Signal that can be used to update the selector. More... | |
WCondition::SPtr | m_dirtyCondition |
Condition that fires on setDirty. More... | |
Adaptor class between the roi manager and the fiber display.
Definition at line 41 of file WFiberSelector.h.
typedef std::shared_ptr< const WFiberSelector > WFiberSelector::ConstSPtr |
Const fiber selector pointer.
Definition at line 52 of file WFiberSelector.h.
typedef std::shared_ptr< WFiberSelector > WFiberSelector::SPtr |
Fiber selector pointer.
Definition at line 47 of file WFiberSelector.h.
|
explicit |
constructor
fibers | pointer to the datset this selector works on |
Definition at line 35 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().
WFiberSelector::~WFiberSelector | ( | ) |
destructor
Definition at line 77 of file WFiberSelector.cpp.
References WKernel::getRoiManager(), WKernel::getRunningKernel(), m_assocRoiSignal, m_branches, m_changeRoiSignal, m_removeBranchSignal, and m_removeRoiSignal.
std::shared_ptr< std::vector< bool > > WFiberSelector::getBitfield | ( | ) |
getter
Definition at line 157 of file WFiberSelector.cpp.
References m_outputBitfield.
bool WFiberSelector::getDirty | ( | ) |
Get the current dirty-state.
Definition at line 208 of file WFiberSelector.cpp.
References m_dirty.
WCondition::SPtr WFiberSelector::getDirtyCondition | ( | ) |
Condition that fires upon a recalculation of the fiber selection.
Definition at line 213 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 218 of file WFiberSelector.cpp.
References m_outputBitfield, and m_outputColorMap.
|
inline |
getter for the line length array
Definition at line 192 of file WFiberSelector.h.
References m_fibers.
|
inline |
getter for the line start index array
Definition at line 187 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 231 of file WFiberSelector.cpp.
References m_branches.
|
private |
update the bitfield when there was a change in the roi structure
Definition at line 162 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 201 of file WFiberSelector.cpp.
References m_dirty, m_dirtyCondition, and recalculate().
Referenced by slotAddRoi(), slotRemoveBranch(), slotRemoveRoi(), and WFiberSelector().
|
inline |
Return the number of fibers in the dataset.
Definition at line 182 of file WFiberSelector.h.
References m_size.
|
protected |
listener function for inserting rois
roi | new roi inserted into the roi structure |
Definition at line 98 of file WFiberSelector.cpp.
References WKernel::getRoiManager(), WKernel::getRunningKernel(), m_branches, m_changeRoiSignal, m_fibers, m_kdTree, and setDirty().
Referenced by WFiberSelector().
|
protected |
listener function for removing rois
branch | branch that is being removed |
Definition at line 142 of file WFiberSelector.cpp.
References m_branches, m_changeRoiSignal, and setDirty().
Referenced by WFiberSelector().
|
protected |
listener function for removing rois
roi | roi that is being removed |
Definition at line 125 of file WFiberSelector.cpp.
References m_branches, m_changeRoiSignal, and setDirty().
Referenced by WFiberSelector().
|
private |
Signal that can be used to update the selector.
Definition at line 171 of file WFiberSelector.h.
Referenced by WFiberSelector(), and ~WFiberSelector().
|
private |
list of branches int he roi structure
Definition at line 169 of file WFiberSelector.h.
Referenced by isNothingFiltered(), recalculate(), slotAddRoi(), slotRemoveBranch(), slotRemoveRoi(), and ~WFiberSelector().
|
private |
Signal that can be used to update the selector.
Definition at line 174 of file WFiberSelector.h.
Referenced by slotAddRoi(), slotRemoveBranch(), slotRemoveRoi(), WFiberSelector(), and ~WFiberSelector().
|
private |
dirty flag
Definition at line 158 of file WFiberSelector.h.
Referenced by getDirty(), recalculate(), and setDirty().
|
private |
Condition that fires on setDirty.
Definition at line 179 of file WFiberSelector.h.
Referenced by getDirtyCondition(), and setDirty().
|
private |
Pointer to the fiber data set.
Definition at line 154 of file WFiberSelector.h.
Referenced by getLengths(), getStarts(), slotAddRoi(), and WFiberSelector().
|
private |
Stores a pointer to the kdTree used for fiber selection.
Definition at line 163 of file WFiberSelector.h.
Referenced by slotAddRoi(), and WFiberSelector().
|
private |
bit field of activated fibers
Definition at line 165 of file WFiberSelector.h.
Referenced by getBitfield(), getFiberColor(), and WFiberSelector().
|
private |
Map each fiber to a color.
Definition at line 167 of file WFiberSelector.h.
Referenced by getFiberColor(), and WFiberSelector().
|
private |
Signal for updating the selector.
Definition at line 173 of file WFiberSelector.h.
Referenced by WFiberSelector(), and ~WFiberSelector().
|
private |
Signal that can be used to update the selector.
Definition at line 172 of file WFiberSelector.h.
Referenced by WFiberSelector(), and ~WFiberSelector().
|
private |
number of fibers in the dataset
Definition at line 156 of file WFiberSelector.h.
Referenced by recalculate(), size(), and WFiberSelector().