22 #include <QtOpenGL/QGLWidget>
23 #include <osgViewer/Viewer>
24 #include <QtCore/QTimer>
32 class GraphicsContext;
40 class DtWindowConfiguration;
41 class DtOsgAdapterQtWidgetLogic;
54 const QGLFormat& format,
56 Qt::WindowFlags f = 0 );
62 osgViewer::GraphicsWindow* graphicsWindow();
72 int widgetToNativeCoordinate(
int widgetValue);
78 int nativeToWidgetCoordinate(
int nativeValue);
81 virtual osgGA::GUIEventAdapter::KeySymbol osgKeyFromQtKeyEvent( QKeyEvent* event );
85 virtual void processKeyPressEvent( QKeyEvent* keyEvent );
89 virtual void processKeyReleaseEvent( QKeyEvent* keyEvent );
97 virtual bool processTouchEvent( QTouchEvent* touchEvent );
99 virtual void mouseMoveEvent( QMouseEvent* event );
101 virtual void focusInEvent( QFocusEvent * event );
102 virtual void focusOutEvent( QFocusEvent * event );
103 virtual bool event(
QEvent* event );
106 static QGLFormat createFormatFromTraits(
107 const osg::GraphicsContext::Traits* contextTraits);
109 virtual QSize sizeHint()
const;
112 virtual void slot_onRightClickTerrainMenuRequest(
double mouseX,
116 virtual void slot_onRightClickSelectionMenuRequest(
double mouseX,
127 void devicePixelRatioChanged();
134 virtual bool channelInThisWidget(
const DtChannel& channel );
138 virtual void resizeGL(
int width,
int height);
140 virtual void keyPressEvent(QKeyEvent *);
141 virtual void keyReleaseEvent(QKeyEvent *);
142 virtual void mousePressEvent( QMouseEvent* event );
143 virtual void mouseReleaseEvent( QMouseEvent* event );
144 virtual void enterEvent(
QEvent* event );
145 virtual void leaveEvent(
QEvent* event );
147 int qtButtonToOsgButton( QMouseEvent* event);
148 virtual void mouseDoubleClickEvent(QMouseEvent* event);
149 virtual void wheelEvent(QWheelEvent *);
150 virtual void closeEvent(QCloseEvent*);
151 virtual void slot_ctrlEnterPressed(
const DtChannel& channel );
157 virtual void getTouchPointPositions(
const QTouchEvent& touchEvent,
158 osg::Vec2& p0, osg::Vec2& p1 );
164 virtual void startOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
168 virtual void continueOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
172 virtual void endOsgTouch(
const osg::Vec2& p0 );
176 void emit_signal_pixelRatioChanged();
215 osg::GraphicsContext::Traits* contextTraits,
const QGLFormat& format,
216 QWidget * parent = 0, Qt::WindowFlags f = 0);
229 virtual void setWidget(
QGLWidget* widget);
230 virtual bool valid()
const;
232 virtual bool realizeImplementation();
234 virtual bool isRealizedImplementation()
const;
236 virtual void closeImplementation();
238 virtual void grabFocus();
240 virtual void grabFocusIfPointerInWindow();
242 virtual bool makeCurrentImplementation();
244 virtual bool releaseContextImplementation();
246 virtual void swapBuffersImplementation();
248 virtual void requestWarpPointer(
float x,
float y);
250 virtual void useCursor(
bool onOff);
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
QGLWidget * myWidget
Definition: DtOsgAdapterQtWidget.h:253
Abstract Base class.
Definition: DtWindow.h:25
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool myRealizeCalled
Definition: DtOsgAdapterQtWidget.h:255
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:28
DtDe & myDe
Definition: DtOsgAdapterQtWidget.h:254
#define DT_DLL_VRVOSGQT
Definition: vrvOsgQt.h:22
Contains DLL export macros.
The abstract Channel Class.
Definition: DtChannel.h:35
Contains makVrv::DtVirtualBaseClass class.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Internal class for embedding The OpenGL Qt code into OSG. needs documentation.
Definition: DtOsgAdapterQtWidget.h:222