32 #include <boost/shared_ptr.hpp>
33 #include <boost/thread/locks.hpp>
37 #include <osg/ref_ptr>
38 #include <osgViewer/CompositeViewer>
39 #include <osgViewer/View>
40 #include <osgViewer/Viewer>
42 #include "../common/WColor.h"
43 #include "../common/WLogger.h"
44 #include "../common/WPathHelper.h"
45 #include "../common/math/linearAlgebra/WLinearAlgebra.h"
46 #include "WGEViewer.h"
47 #include "exceptions/WGEInitFailed.h"
48 #include "exceptions/WGESignalSubscriptionFailed.h"
49 #include "WGraphicsEngine.h"
65 putenv( envStr.c_str() );
70 m_viewer = osg::ref_ptr<osgViewer::CompositeViewer>(
new osgViewer::CompositeViewer() );
97 m_viewer->setThreadingModel( osgViewer::Viewer::SingleThreaded );
101 m_viewer->setThreadingModel( osgViewer::Viewer::CullThreadPerCameraDrawThreadPerContext );
109 return ( osgViewer::Viewer::SingleThreaded !=
m_viewer->getThreadingModel() );
134 boost::shared_ptr<WGEViewer> viewer = boost::shared_ptr<WGEViewer>(
135 new WGEViewer( name, wdata, x, y, width, height, projectionMode ) );
136 viewer->setBgColor( bgColor );
141 m_viewer->addView( viewer->getView() );
146 bool insertSucceeded =
m_viewers.insert( make_pair( name, viewer ) ).second;
147 assert( insertSucceeded ==
true );
166 boost::shared_ptr< WGEViewer > out =
m_viewers.count( name ) > 0 ?
168 boost::shared_ptr< WGEViewer >();
239 case GE_RELOADSHADERS:
242 std::ostringstream s;
243 s <<
"Could not subscribe to unknown signal.";