25 #ifndef WSELECTORROI_H
26 #define WSELECTORROI_H
30 #include "../dataHandler/WDataSetFibers.h"
32 #include "../graphicsEngine/WROI.h"
48 WSelectorRoi( osg::ref_ptr< WROI > roi, boost::shared_ptr< const WDataSetFibers > fibers, boost::shared_ptr< WKdTree> kdTree );
59 boost::shared_ptr< std::vector<bool> >
getBitField();
67 osg::ref_ptr< WROI >
getRoi();
88 void boxTest(
int left,
int right,
int axis );
106 boost::shared_ptr< const WDataSetFibers >
m_fibers;
170 #endif // WSELECTORROI_H
void boxTest(int left, int right, int axis)
recursive function to check for intersections with the roi
~WSelectorRoi()
destructor
osg::ref_ptr< WROI > m_roi
pointer to the roi
void setDirty()
setter sets the dirty flag
boost::shared_ptr< std::vector< float > > m_currentArray
pointer to the array that is used for updating this is used for the recurse update function...
implements the computation of a kd tree on a point array
void recalculate()
updates the output bitfiel when something with the rois has changed
boost::shared_ptr< std::vector< bool > > m_bitField
the bitfield that is given to the outside world
boost::shared_ptr< WKdTree > m_kdTree
Stores a pointer to the kdTree used for fiber selection.
size_t m_size
size of the fiber dataset, stored for convinience
size_t getLineForPoint(size_t point)
getter
boost::shared_ptr< const WDataSetFibers > m_fibers
Pointer to the fiber data set.
osg::ref_ptr< WROI > getRoi()
getter access to the ROI representation, mainly for delete and update functions
std::vector< float > m_boxMin
lower boundary of the box, used for boxtest
boost::shared_ptr< std::vector< bool > > getBitField()
getter
std::vector< float > m_boxMax
upper boundary of the box, used for boxtest
boost::shared_ptr< boost::function< void() > > m_changeRoiSignal
Signal that can be used to update the selector ROI.
boost::shared_ptr< std::vector< size_t > > m_currentReverse
pointer to the reverse array that is used for updating this is used for the recurse update function...
boost::shared_ptr< std::vector< bool > > m_workerBitfield
the bitfield we work on
class implements the updating of a bitfield for a roi
WSelectorRoi(osg::ref_ptr< WROI > roi, boost::shared_ptr< const WDataSetFibers > fibers, boost::shared_ptr< WKdTree > kdTree)
constructor