25 #ifndef WGRAPHICSENGINE_H
26 #define WGRAPHICSENGINE_H
32 #include <boost/shared_ptr.hpp>
33 #include <boost/signals2/signal.hpp>
34 #include <boost/function.hpp>
35 #include <boost/thread/mutex.hpp>
36 #include <boost/thread/thread.hpp>
39 #include <osg/Texture3D>
42 #include <osg/ref_ptr>
43 #include <osgViewer/CompositeViewer>
44 #include <osgViewer/View>
45 #include <osgViewer/Viewer>
47 #include "../common/WThreadedRunner.h"
48 #include "../common/WConditionOneShot.h"
49 #include "../common/WColor.h"
50 #include "../common/math/linearAlgebra/WLinearAlgebra.h"
51 #include "WGEGraphicsWindow.h"
53 #include "WGEViewer.h"
54 #include "WGESignals.h"
56 #include "WExportWGE.h"
77 osg::ref_ptr<WGEScene> getScene();
93 boost::shared_ptr< WGEViewer > createViewer( std::string name, osg::ref_ptr<osg::Referenced> wdata,
int x,
int y,
95 WColor bgColor = WColor( 0.9, 0.9, 0.9, 1.0 ) );
102 void closeViewer(
const std::string name );
110 boost::shared_ptr< WGEViewer > getViewerByName( std::string name );
117 boost::shared_ptr< WGEViewer > getViewer();
124 static boost::shared_ptr< WGraphicsEngine > getGraphicsEngine();
129 void requestShaderReload();
139 boost::signals2::connection subscribeSignal( GE_SIGNAL signal, t_GEGenericSignalHandlerType notifier );
146 static bool isRunning();
153 static bool waitForStartupComplete();
158 void finalizeStartup();
165 void setMultiThreadedViews(
bool enable =
true );
172 bool isMultiThreadedViews()
const;
199 std::map< std::string, boost::shared_ptr< WGEViewer > >
m_viewers;
249 #endif // WGRAPHICSENGINE_H