31 #include <boost/enable_shared_from_this.hpp>
33 #include "WRMBranch.h"
40 class WROIManager:
public boost::enable_shared_from_this< WROIManager >
59 void addRoi( osg::ref_ptr< WROI > newRoi );
68 void addRoi( osg::ref_ptr< WROI > newRoi, osg::ref_ptr< WROI > parentRoi );
75 void removeRoi( osg::ref_ptr< WROI > roi );
90 boost::shared_ptr< WRMBranch>
getBranch( osg::ref_ptr< WROI > roi );
102 bool dirty(
bool reset =
false );
109 void addAddNotifier( boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > notifier );
116 void removeAddNotifier( boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > notifier );
124 void addRemoveNotifier( boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > notifier );
131 void removeRemoveNotifier( boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > notifier );
138 void addRemoveBranchNotifier( boost::shared_ptr< boost::function<
void( boost::shared_ptr< WRMBranch > ) > > notifier );
170 std::vector< osg::ref_ptr< WROI > >
getRois();
186 std::list< boost::shared_ptr< boost::function< void( osg::ref_ptr< WROI > ) > > >
m_addNotifiers;
191 std::list< boost::shared_ptr< boost::function< void( osg::ref_ptr< WROI > ) > > >
m_removeNotifiers;
227 #endif // WROIMANAGER_H