#include "QtGlRenderer.h" #include "Preprocessor.h" namespace GtpVisibilityPreprocessor { QApplication *app = NULL; //QtGlRendererWidget *rendererWidget = NULL; //QtGlDebuggerWidget *debuggerWidget = NULL; //----------------------------------------------------------------------- extern "C" __declspec(dllexport) GlRendererWidget *LoadRenderWidget(Preprocessor *p) { int argc = 0; // create a qt application first (must be created before any opengl widget ...) app = new QApplication(argc, NULL); if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers()) { QMessageBox::information(0, "OpenGL pbuffers", "This system does not support OpenGL/pbuffers.", QMessageBox::Ok); return NULL; } // note matt: capsulate qt dependent code as good as possible QtGlRendererWidget *rendererWidget = new QtGlRendererWidget(p->mSceneGraph, p->mViewCellsManager, p->mKdTree); rendererWidget->resize(640, 480); rendererWidget->Show(); app->exec(); return rendererWidget; } //----------------------------------------------------------------------- extern "C" void __declspec(dllexport) dllStopPlugin() { delete app; } }