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 );
104 virtual bool processTouchEvent( QTouchEvent* touchEvent );
106 virtual void mouseMoveEvent( QMouseEvent* event );
108 virtual void focusInEvent( QFocusEvent * event );
109 virtual void focusOutEvent( QFocusEvent * event );
110 virtual bool event(
QEvent* event );
113 static QGLFormat createFormatFromTraits(
114 const osg::GraphicsContext::Traits* contextTraits);
116 virtual QSize sizeHint()
const;
119 virtual void slot_onRightClickTerrainMenuRequest(
double mouseX,
123 virtual void slot_onRightClickSelectionMenuRequest(
double mouseX,
134 void devicePixelRatioChanged();
141 virtual bool channelInThisWidget(
const DtChannel& channel );
145 virtual void resizeGL(
int width,
int height)
override;
146 virtual void paintGL()
override;
147 virtual void paintEvent(QPaintEvent* e)
override;
148 virtual void resizeEvent(QResizeEvent* resizeEvent)
override;
150 virtual void keyPressEvent(QKeyEvent *);
151 virtual void keyReleaseEvent(QKeyEvent *);
152 virtual void mousePressEvent( QMouseEvent* event );
153 virtual void mouseReleaseEvent( QMouseEvent* event );
154 virtual void enterEvent(
QEvent* event );
155 virtual void leaveEvent(
QEvent* event );
157 int qtButtonToOsgButton( QMouseEvent* event);
158 virtual void mouseDoubleClickEvent(QMouseEvent* event);
159 virtual void wheelEvent(QWheelEvent *);
160 virtual void closeEvent(QCloseEvent*);
161 virtual void slot_ctrlEnterPressed(
const DtChannel& channel );
167 virtual void getTouchPointPositions(
const QTouchEvent& touchEvent,
168 osg::Vec2& p0, osg::Vec2& p1 );
174 virtual void startOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1,
int pointCount );
178 virtual void continueOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
182 virtual void endOsgTouch(
const osg::Vec2& p0 );
189 virtual void cleanupOpenGlResources(
void);
193 void emit_signal_pixelRatioChanged();
239 osg::GraphicsContext::Traits* contextTraits,
const QGLFormat& format,
240 QWidget * parent, Qt::WindowFlags windowFlags);
247 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:36
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:76