28 #include "../common/WAssert.h"
30 #include "../graphicsEngine/WGraphicsEngine.h"
32 #include "WROIManager.h"
47 toBranch->addRoi( newRoi );
49 for( std::list< boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > >::iterator iter =
m_addNotifiers.begin();
64 boost::shared_ptr< WRMBranch > newBranch(
new WRMBranch( shared_from_this() ) );
75 boost::shared_ptr< WRMBranch > branch;
76 for( std::list< boost::shared_ptr< WRMBranch > >::iterator iter =
m_branches.begin(); iter !=
m_branches.end(); ++iter )
78 if( ( *iter ).get()->contains( parentRoi ) )
84 branch->addRoi( newRoi );
86 for( std::list< boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > >::iterator iter =
m_addNotifiers.begin();
97 for( std::list< boost::shared_ptr< WRMBranch > >::iterator iter =
m_branches.begin(); iter !=
m_branches.end(); ++iter )
99 ( *iter )->removeRoi( roi );
101 if( ( *iter )->empty() )
103 for( std::list< boost::shared_ptr< boost::function<
void( boost::shared_ptr< WRMBranch > ) > > >::iterator iter2
108 ( **iter2 )( *iter );
116 for( std::list< boost::shared_ptr< boost::function<
void( osg::ref_ptr< WROI > ) > > >::iterator iter
127 for( std::list< boost::shared_ptr< WRMBranch > >::iterator iter =
m_branches.begin(); iter !=
m_branches.end(); ++iter )
129 if( roi == ( *iter )->getFirstRoi() )
131 ( *iter )->removeAllRois();
134 if( ( *iter )->empty() )
136 for( std::list< boost::shared_ptr< boost::function<
void( boost::shared_ptr< WRMBranch > ) > > >::iterator iter2
141 ( **iter2 )( *iter );
152 boost::shared_ptr< WRMBranch> branch;
154 for( std::list< boost::shared_ptr< WRMBranch > >::iterator iter =
m_branches.begin(); iter !=
m_branches.end(); ++iter )
156 if( ( *iter )->contains( roi ) )
171 boost::unique_lock< boost::shared_mutex > lock;
179 boost::unique_lock< boost::shared_mutex > lock;
181 std::list< boost::shared_ptr< boost::function< void( osg::ref_ptr< WROI > ) > > >::iterator it;
192 boost::unique_lock< boost::shared_mutex > lock;
200 boost::unique_lock< boost::shared_mutex > lock;
202 std::list< boost::shared_ptr< boost::function< void( osg::ref_ptr< WROI > ) > > >::iterator it;
213 boost::unique_lock< boost::shared_mutex > lock;
221 boost::unique_lock< boost::shared_mutex > lock;
223 std::list< boost::shared_ptr< boost::function< void( boost::shared_ptr< WRMBranch > ) > > >::iterator it;
246 for( std::list< boost::shared_ptr< WRMBranch > >::const_iterator iter =
m_branches.begin(); iter !=
m_branches.end(); ++iter )
248 ( *iter )->getRois( returnVec );
259 for( std::list< boost::shared_ptr< WRMBranch > >::const_iterator iter =
m_branches.begin(); iter !=
m_branches.end(); ++iter )
261 returnVec.push_back( *iter );