32 #include <boost/enable_shared_from_this.hpp>
34 #include "../common/WProperties.h"
36 #include "../graphicsEngine/WROI.h"
38 #include "WExportKernel.h"
45 class OWKERNEL_EXPORT
WRMBranch :
public boost::enable_shared_from_this< WRMBranch >
52 explicit WRMBranch( boost::shared_ptr< WROIManager > roiManager );
64 void addRoi( osg::ref_ptr< WROI > roi );
71 void removeRoi( osg::ref_ptr< WROI > roi );
85 bool dirty(
bool reset =
false );
104 bool contains( osg::ref_ptr< WROI > roi );
111 osg::ref_ptr< WROI > getFirstRoi();
118 boost::shared_ptr< WROIManager > getRoiManager();
125 boost::shared_ptr< WProperties > getProperties();
137 void getRois( std::vector< osg::ref_ptr< WROI > >& roiVec );
144 void addChangeNotifier( boost::shared_ptr< boost::function<
void() > > notifier );
152 void removeChangeNotifier( boost::shared_ptr< boost::function<
void() > > notifier );
165 void propertyChanged();
169 std::list< osg::ref_ptr< WROI > >
m_rois;
220 #endif // WRMBRANCH_H