VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrv::DtOsgAdapterQtWidget Class Reference

DtOsgAdapterQtWidget provides the mechanism for embedding an OSG context into a Qt widget. More...

Inheritance diagram for makVrv::DtOsgAdapterQtWidget:
Inheritance graph
[legend]

Public Member Functions

 DtOsgAdapterQtWidget (DtDe &de, osg::GraphicsContext::Traits *contextTraits, const QGLFormat &format, QWidget *parent=0, Qt::WindowFlags f=0)
 CTOR.
virtual ~DtOsgAdapterQtWidget ()
 DTOR.
osgViewer::GraphicsWindow * graphicsWindow ()
 Get the Graphics Window.
void setView (DtWindow *window)
 Set the osg window to forward off events such as resize.
DtWindowview () const
virtual
osgGA::GUIEventAdapter::KeySymbol 
osgKeyFromQtKeyEvent (QKeyEvent *event)
 maps keys coming from Qt to osg::GuiEventAdapter::KeySymbols
virtual void processKeyPressEvent (QKeyEvent *keyEvent)
 process a key press event that came from Qt directly or from the key adapter
virtual void processKeyReleaseEvent (QKeyEvent *keyEvent)
 process a key release event that came from Qt directly or from the key adapter
virtual bool processTouchEvent (QTouchEvent *touchEvent)
 Process a touch event.
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void focusInEvent (QFocusEvent *event)
virtual void focusOutEvent (QFocusEvent *event)
virtual bool event (QEvent *event)
virtual QSize sizeHint ()
virtual void slot_onRightClickTerrainMenuRequest (double mouseX, double mouseY, DtChannel *channel)
 called by signal requesting a terrain-specific popup menu
virtual void slot_onRightClickSelectionMenuRequest (double mouseX, double mouseY, DtChannel *channel)
 called by signal requesting a selection-specific popup menu

Static Public Member Functions

static QGLFormat createFormatFromTraits (const osg::GraphicsContext::Traits *contextTraits)
 Helper function to create a QFormat from an osg context traits.

Public Attributes

boost::signal< void(DtOsgAdapterQtWidget *)> signal_mouseEnter
boost::signal< void(DtOsgAdapterQtWidget *)> signal_mouseExit

Protected Member Functions

void init ()
virtual bool channelInThisWidget (const DtChannel &channel)
 Find out if our window (myView) owns a channel.
virtual void resizeEvent (QResizeEvent *event)
virtual void keyPressEvent (QKeyEvent *)
virtual void keyReleaseEvent (QKeyEvent *)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void enterEvent (QEvent *event)
virtual void leaveEvent (QEvent *event)
int qtButtonToOsgButton (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *)
virtual void closeEvent (QCloseEvent *)
virtual void slot_ctrlEnterPressed (const DtChannel &channel)
virtual void getTouchPointPositions (const QTouchEvent &touchEvent, osg::Vec2 &p0, osg::Vec2 &p1)
 Get the positions of the 2 touch points in a touch event; if the touch event has no touch points, p0 and p1 will be untouched.
virtual void startOsgTouch (const osg::Vec2 &p0, const osg::Vec2 &p1)
 This creates an osgGA GUI Adapter touch event with the Began phase and the points provided.
virtual void continueOsgTouch (const osg::Vec2 &p0, const osg::Vec2 &p1)
 This creates an osgGA GUI Adapter touch event with the Moved phase and the points provided.
virtual void endOsgTouch (const osg::Vec2 &p0)
 This creates an osgGA GUI Adapter touch event with the Ended phase and the points provided.

Protected Attributes

osg::ref_ptr
< osgViewer::GraphicsWindowEmbedded > 
myEmbeddedWindow
DtDemyDe
DtWindowmyWindow
DtOsgAdapterQtWidgetLogicmyLogic
bool myLeftPressed
bool myMiddlePressed
bool myRightPressed
bool myIsPinching

Detailed Description

DtOsgAdapterQtWidget provides the mechanism for embedding an OSG context into a Qt widget.

Constructor & Destructor Documentation

makVrv::DtOsgAdapterQtWidget::DtOsgAdapterQtWidget ( DtDe de,
osg::GraphicsContext::Traits *  contextTraits,
const QGLFormat &  format,
QWidget parent = 0,
Qt::WindowFlags  f = 0 
)

CTOR.

virtual makVrv::DtOsgAdapterQtWidget::~DtOsgAdapterQtWidget ( )
virtual

DTOR.

Member Function Documentation

osgViewer::GraphicsWindow* makVrv::DtOsgAdapterQtWidget::graphicsWindow ( )

Get the Graphics Window.

void makVrv::DtOsgAdapterQtWidget::setView ( DtWindow window)

Set the osg window to forward off events such as resize.

DtWindow* makVrv::DtOsgAdapterQtWidget::view ( ) const
virtual osgGA::GUIEventAdapter::KeySymbol makVrv::DtOsgAdapterQtWidget::osgKeyFromQtKeyEvent ( QKeyEvent *  event)
virtual

maps keys coming from Qt to osg::GuiEventAdapter::KeySymbols

virtual void makVrv::DtOsgAdapterQtWidget::processKeyPressEvent ( QKeyEvent *  keyEvent)
virtual

process a key press event that came from Qt directly or from the key adapter

virtual void makVrv::DtOsgAdapterQtWidget::processKeyReleaseEvent ( QKeyEvent *  keyEvent)
virtual

process a key release event that came from Qt directly or from the key adapter

virtual bool makVrv::DtOsgAdapterQtWidget::processTouchEvent ( QTouchEvent *  touchEvent)
virtual

Process a touch event.

Touch events with two touchpoints are treated as pinches; others are ignored (exception - touch end events always have one touchpoint, even if its the end of a multitouch event; hence it is processed here IF we are current within an identified pinch gesture)

virtual void makVrv::DtOsgAdapterQtWidget::mouseMoveEvent ( QMouseEvent *  event)
virtual
virtual void makVrv::DtOsgAdapterQtWidget::focusInEvent ( QFocusEvent *  event)
virtual
virtual void makVrv::DtOsgAdapterQtWidget::focusOutEvent ( QFocusEvent *  event)
virtual
virtual bool makVrv::DtOsgAdapterQtWidget::event ( QEvent *  event)
virtual
static QGLFormat makVrv::DtOsgAdapterQtWidget::createFormatFromTraits ( const osg::GraphicsContext::Traits *  contextTraits)
static

Helper function to create a QFormat from an osg context traits.

virtual QSize makVrv::DtOsgAdapterQtWidget::sizeHint ( )
virtual
virtual void makVrv::DtOsgAdapterQtWidget::slot_onRightClickTerrainMenuRequest ( double  mouseX,
double  mouseY,
DtChannel channel 
)
virtual

called by signal requesting a terrain-specific popup menu

virtual void makVrv::DtOsgAdapterQtWidget::slot_onRightClickSelectionMenuRequest ( double  mouseX,
double  mouseY,
DtChannel channel 
)
virtual

called by signal requesting a selection-specific popup menu

void makVrv::DtOsgAdapterQtWidget::init ( )
protected
virtual bool makVrv::DtOsgAdapterQtWidget::channelInThisWidget ( const DtChannel channel)
protectedvirtual

Find out if our window (myView) owns a channel.

Used when processing ctrlEnter signals

virtual void makVrv::DtOsgAdapterQtWidget::resizeEvent ( QResizeEvent *  event)
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::keyPressEvent ( QKeyEvent *  )
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::keyReleaseEvent ( QKeyEvent *  )
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::mousePressEvent ( QMouseEvent *  event)
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::mouseReleaseEvent ( QMouseEvent *  event)
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::enterEvent ( QEvent *  event)
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::leaveEvent ( QEvent *  event)
protectedvirtual
int makVrv::DtOsgAdapterQtWidget::qtButtonToOsgButton ( QMouseEvent *  event)
protected
virtual void makVrv::DtOsgAdapterQtWidget::mouseDoubleClickEvent ( QMouseEvent *  event)
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::wheelEvent ( QWheelEvent *  )
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::closeEvent ( QCloseEvent *  )
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::slot_ctrlEnterPressed ( const DtChannel channel)
protectedvirtual
virtual void makVrv::DtOsgAdapterQtWidget::getTouchPointPositions ( const QTouchEvent &  touchEvent,
osg::Vec2 &  p0,
osg::Vec2 &  p1 
)
protectedvirtual

Get the positions of the 2 touch points in a touch event; if the touch event has no touch points, p0 and p1 will be untouched.

If the touch event has only one touch point, p0 will be set and p1 will be untouched.

virtual void makVrv::DtOsgAdapterQtWidget::startOsgTouch ( const osg::Vec2 &  p0,
const osg::Vec2 &  p1 
)
protectedvirtual

This creates an osgGA GUI Adapter touch event with the Began phase and the points provided.

virtual void makVrv::DtOsgAdapterQtWidget::continueOsgTouch ( const osg::Vec2 &  p0,
const osg::Vec2 &  p1 
)
protectedvirtual

This creates an osgGA GUI Adapter touch event with the Moved phase and the points provided.

virtual void makVrv::DtOsgAdapterQtWidget::endOsgTouch ( const osg::Vec2 &  p0)
protectedvirtual

This creates an osgGA GUI Adapter touch event with the Ended phase and the points provided.

Member Data Documentation

boost::signal<void (DtOsgAdapterQtWidget*)> makVrv::DtOsgAdapterQtWidget::signal_mouseEnter
boost::signal<void (DtOsgAdapterQtWidget*)> makVrv::DtOsgAdapterQtWidget::signal_mouseExit
osg::ref_ptr<osgViewer::GraphicsWindowEmbedded> makVrv::DtOsgAdapterQtWidget::myEmbeddedWindow
protected
DtDe& makVrv::DtOsgAdapterQtWidget::myDe
protected
DtWindow* makVrv::DtOsgAdapterQtWidget::myWindow
protected
DtOsgAdapterQtWidgetLogic* makVrv::DtOsgAdapterQtWidget::myLogic
protected
bool makVrv::DtOsgAdapterQtWidget::myLeftPressed
protected
bool makVrv::DtOsgAdapterQtWidget::myMiddlePressed
protected
bool makVrv::DtOsgAdapterQtWidget::myRightPressed
protected
bool makVrv::DtOsgAdapterQtWidget::myIsPinching
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)