23 #include <QtOpenGL/QGLWidget>
24 #include <osgViewer/Viewer>
25 #include <QtCore/QTimer>
37 class GraphicsContext;
45 class DtWindowConfiguration;
46 class DtOsgAdapterQtWidgetLogic;
47 class QGLWidgetAsOsgContext;
59 ,
const QGLFormat& format
60 , QOpenGLContext* openGLContext
62 , Qt::WindowFlags windowFlags);
68 osgViewer::GraphicsWindow* graphicsWindow();
78 int widgetToNativeCoordinate(
int widgetValue);
84 int nativeToWidgetCoordinate(
int nativeValue);
87 virtual osgGA::GUIEventAdapter::KeySymbol osgKeyFromQtKeyEvent( QKeyEvent* event );
91 virtual void processKeyPressEvent( QKeyEvent* keyEvent );
95 virtual void processKeyReleaseEvent( QKeyEvent* keyEvent );
103 virtual bool processTouchEvent( QTouchEvent* touchEvent );
105 virtual void mouseMoveEvent( QMouseEvent* event );
107 virtual void focusInEvent( QFocusEvent * event );
108 virtual void focusOutEvent( QFocusEvent * event );
109 virtual bool event(
QEvent* event );
112 static QGLFormat createFormatFromTraits(
113 const osg::GraphicsContext::Traits* contextTraits);
115 virtual QSize sizeHint()
const;
118 virtual void slot_onRightClickTerrainMenuRequest(
double mouseX,
122 virtual void slot_onRightClickSelectionMenuRequest(
double mouseX,
133 void devicePixelRatioChanged();
140 virtual bool channelInThisWidget(
const DtChannel& channel );
144 virtual void resizeGL(
int width,
int height)
override;
145 virtual void paintGL()
override;
146 virtual void paintEvent(QPaintEvent* e)
override;
147 virtual void resizeEvent(QResizeEvent* resizeEvent)
override;
149 virtual void keyPressEvent(QKeyEvent *);
150 virtual void keyReleaseEvent(QKeyEvent *);
151 virtual void mousePressEvent( QMouseEvent* event );
152 virtual void mouseReleaseEvent( QMouseEvent* event );
153 virtual void enterEvent(
QEvent* event );
154 virtual void leaveEvent(
QEvent* event );
156 int qtButtonToOsgButton( QMouseEvent* event);
157 virtual void mouseDoubleClickEvent(QMouseEvent* event);
158 virtual void wheelEvent(QWheelEvent *);
159 virtual void closeEvent(QCloseEvent*);
160 virtual void slot_ctrlEnterPressed(
const DtChannel& channel );
166 virtual void getTouchPointPositions(
const QTouchEvent& touchEvent,
167 osg::Vec2& p0, osg::Vec2& p1 );
173 virtual void startOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
177 virtual void continueOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
181 virtual void endOsgTouch(
const osg::Vec2& p0 );
188 virtual void cleanupOpenGlResources(
void);
192 void emit_signal_pixelRatioChanged();
238 osg::GraphicsContext::Traits* contextTraits,
const QGLFormat& format,
239 QWidget * parent, Qt::WindowFlags windowFlags);
246 QOpenGLContext* myOpenGLContext =
nullptr;
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
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
Definition: featureContext.h:37
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:26
#define DT_DLL_VRVOSGQT
Definition: vrvOsgQt.h:22
Contains DLL export macros.
The abstract Channel Class.
Definition: DtChannel.h:35
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class to provide boost signal/slot management.
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:72