Emdee
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Properties | List of all members
StereoViewport Class Reference

#include <stereoviewport.h>

Inheritance diagram for StereoViewport:
Inheritance graph
[legend]
Collaboration diagram for StereoViewport:
Collaboration graph
[legend]

Public Types

enum  RenderMode { UnknownRender, DirectRender, BufferedRender }
 
enum  StereoType {
  Hardware, RedCyanAnaglyph, LeftRight, RightLeft,
  TopBottom, BottomTop, StretchedLeftRight, StretchedRightLeft,
  StretchedTopBottom, StretchedBottomTop
}
 

Public Slots

void update3d ()
 
void setStereoType (StereoType arg)
 

Signals

void viewportChanged ()
 
void showSceneGraphChanged ()
 
void antialiasingChanged ()
 
void stereoTypeChanged (StereoType arg)
 

Public Member Functions

 StereoViewport (QQuickItem *parent=0)
 
 ~StereoViewport ()
 
QColor fillColor () const
 
void setFillColor (const QColor &)
 
bool picking () const
 
void setPicking (bool value)
 
bool showPicking () const
 
void setShowPicking (bool value)
 
bool showSceneGraph () const
 
void setShowSceneGraph (bool show)
 
bool navigation () const
 
void setNavigation (bool value)
 
bool fovzoom () const
 
void setFovzoom (bool value)
 
bool blending () const
 
void setBlending (bool value)
 
bool antialiasing () const
 
void setAntialiasing (bool value)
 
QGLCamera * camera () const
 
void setCamera (QGLCamera *value)
 
QGLLightParameters * light () const
 
void setLight (QGLLightParameters *value)
 
QGLLightModel * lightModel () const
 
void setLightModel (QGLLightModel *value)
 
int registerPickableObject (QObject *obj)
 
virtual void registerEarlyDrawObject (QObject *obj, int order)
 
void paint (QPainter *painter)
 
RenderMode renderMode () const
 
void setRenderMode (RenderMode mode)
 
StereoType stereoType () const
 

Protected Member Functions

void mousePressEvent (QMouseEvent *event)
 
void mouseReleaseEvent (QMouseEvent *event)
 
void mouseDoubleClickEvent (QMouseEvent *event)
 
void mouseMoveEvent (QMouseEvent *event)
 
void hoverEnterEvent (QHoverEvent *event)
 
void hoverMoveEvent (QHoverEvent *event)
 
void hoverLeaveEvent (QHoverEvent *event)
 
void wheelEvent (QWheelEvent *event)
 
void keyPressEvent (QKeyEvent *event)
 
virtual QSGNode * updatePaintNode (QSGNode *, UpdatePaintNodeData *)
 
void itemChange (QQuickItem::ItemChange change, const ItemChangeData &value)
 
void geometryChanged (const QRectF &newGeometry, const QRectF &oldGeometry)
 

Properties

QColor fillColor
 
RenderMode renderMode
 
bool picking
 
bool showPicking
 
bool showSceneGraph
 
bool navigation
 
bool fovzoom
 
bool blending
 
QGLCamera camera
 
QGLLightParameters light
 
QGLLightModel lightModel
 
bool antialiasing
 
StereoType stereoType
 

Member Enumeration Documentation

Enumerator
UnknownRender 
DirectRender 
BufferedRender 
Enumerator
Hardware 
RedCyanAnaglyph 
LeftRight 
RightLeft 
TopBottom 
BottomTop 
StretchedLeftRight 
StretchedRightLeft 
StretchedTopBottom 
StretchedBottomTop 

Constructor & Destructor Documentation

StereoViewport::StereoViewport ( QQuickItem *  parent = 0)
StereoViewport::~StereoViewport ( )

Member Function Documentation

bool StereoViewport::antialiasing ( ) const
void StereoViewport::antialiasingChanged ( )
signal
bool StereoViewport::blending ( ) const
QGLCamera* StereoViewport::camera ( ) const
QColor StereoViewport::fillColor ( ) const
bool StereoViewport::fovzoom ( ) const
void StereoViewport::geometryChanged ( const QRectF &  newGeometry,
const QRectF &  oldGeometry 
)
protected
void StereoViewport::hoverEnterEvent ( QHoverEvent *  event)
protected
void StereoViewport::hoverLeaveEvent ( QHoverEvent *  event)
protected
void StereoViewport::hoverMoveEvent ( QHoverEvent *  event)
protected
void StereoViewport::itemChange ( QQuickItem::ItemChange  change,
const ItemChangeData &  value 
)
protected
void StereoViewport::keyPressEvent ( QKeyEvent *  event)
protected
QGLLightParameters* StereoViewport::light ( ) const
QGLLightModel* StereoViewport::lightModel ( ) const
void StereoViewport::mouseDoubleClickEvent ( QMouseEvent *  event)
protected
void StereoViewport::mouseMoveEvent ( QMouseEvent *  event)
protected
void StereoViewport::mousePressEvent ( QMouseEvent *  event)
protected
void StereoViewport::mouseReleaseEvent ( QMouseEvent *  event)
protected
bool StereoViewport::navigation ( ) const
void StereoViewport::paint ( QPainter *  painter)
bool StereoViewport::picking ( ) const
void StereoViewport::registerEarlyDrawObject ( QObject *  obj,
int  order 
)
virtual
int StereoViewport::registerPickableObject ( QObject *  obj)
RenderMode StereoViewport::renderMode ( ) const
void StereoViewport::setAntialiasing ( bool  value)
void StereoViewport::setBlending ( bool  value)
void StereoViewport::setCamera ( QGLCamera *  value)
void StereoViewport::setFillColor ( const QColor &  color)
void StereoViewport::setFovzoom ( bool  value)
void StereoViewport::setLight ( QGLLightParameters *  value)
void StereoViewport::setLightModel ( QGLLightModel *  value)
void StereoViewport::setNavigation ( bool  value)
void StereoViewport::setPicking ( bool  value)
void StereoViewport::setRenderMode ( StereoViewport::RenderMode  mode)
void StereoViewport::setShowPicking ( bool  value)
void StereoViewport::setShowSceneGraph ( bool  show)
void StereoViewport::setStereoType ( StereoViewport::StereoType  arg)
slot
bool StereoViewport::showPicking ( ) const
bool StereoViewport::showSceneGraph ( ) const
void StereoViewport::showSceneGraphChanged ( )
signal
StereoType StereoViewport::stereoType ( ) const
void StereoViewport::stereoTypeChanged ( StereoType  arg)
signal
void StereoViewport::update3d ( )
slot
QSGNode * StereoViewport::updatePaintNode ( QSGNode *  node,
UpdatePaintNodeData *  data 
)
protectedvirtual
void StereoViewport::viewportChanged ( )
signal
void StereoViewport::wheelEvent ( QWheelEvent *  event)
protected

Property Documentation

bool StereoViewport::antialiasing
readwrite

bool StereoViewport::antialiasing

The antialiasing property is used to enable or disable antialiasing on the viewport. This property only has an effect if renderMode() == BufferedRender. For renderMode() == DirectRender antialiasing can be enabled by setting the QSurfaceFormat.

By default, antialiasing is set to false.

bool StereoViewport::blending
readwrite

bool StereoViewport::blending

The blending property is used to enable or disable GL_BLEND on the viewport, for alpha blending of drawn objects.

By default, blending is set to false.

See Also
Effect::blending
QGLCamera * StereoViewport::camera
readwrite

Camera StereoViewport::camera

This property sets the camera parameters which will be used for the appropriate viewing transforms in OpenGL. The default is a perspective camera with its eye located at (0, 0, 10) looking at the center (0, 0, 0), with the y axis as up.

QColor StereoViewport::fillColor
readwrite

bool StereoViewport::fillColor()

The color to use for the background of the viewport, if any. When no color is set then the underlying QML background will show through (the viewport will be trans- parent).

If a color is set here, then the viewport will be filled with that color before any content is rendered into it.

The default value for this property is no color (an invalid color) resulting in a transparent viewport.

See Also
showPicking
bool StereoViewport::fovzoom
readwrite

bool StereoViewport::fovzoom

This property is used to set or unset zooming based on field-of-view (fov). Normally zooming is achieved by moving the camera physically closer to the target object. This options achieves zooming by narrowing or broadening the fov.

By default, fov zooming is set to false.

QGLLightParameters * StereoViewport::light
readwrite

Light StereoViewport::light

This property defines the main scene light to use for 3D items that are drawn in this viewport.

See Also
lightModel
QGLLightModel * StereoViewport::lightModel
readwrite

LightModel StereoViewport::lightModel The user is able to set a lighting model for the 3d environment through the use of the lightModel property. By default the light model is undefined.

See Also
light
bool StereoViewport::navigation
readwrite

bool StereoViewport::navigation

This property is used to set or unset camera navigation in for the viewport. Camera navigation allows the user to move the camera position around using the mouse.

By default, camera navigation is set to true.

bool StereoViewport::picking
readwrite

bool StereoViewport::picking

User interaction in QML/3d is handled through the concept of object picking. Each item has a unique picking id which is queried for a given screen click position when the mouse is clicked.

If this property is set to true, picking will be supported for this viewport, while if the property is false, no picking will be applied.

The default value for this property is false.

See Also
showPicking
StereoViewport::RenderMode StereoViewport::renderMode
readwrite

enumeration StereoViewport::renderMode

This property defines the mode of rendering of this viewport as to whether it is direct to the GL context, or via a buffer (in this case a framebuffer object).

If the scene occupies most of the display, but the Viewport is not the top level item, this property can be set to DirectRender in order to improve performance.

At construction the render mode is set to UnknownRender, but during initialization it is updated to an appropriate default. It is an error to set the renderMode() to UnknownRender, and in debug mode an assert will be thrown in this case. In release mode behavior is undefined.

By default if the viewport is a child object of another SGItem, then the renderMode() is set to use a buffer. This is suitable for most simple 3D items which are small in size relative to the overall QML content displayed. The buffer is prepared by drawing the 3D items into it and then in a second step the buffer is composited into the QML 2D scene.

Otherwise if the viewport is a top-level item, the renderMode() is set by default to use direct rendering, in this case using a "GL Under" approach to capture the GL context prior to other QML content being rendered. The 3D items are then rendered directly into the context with any 2D QML content being rendered over the top. This is suitable where the 3D components of the scene occupies most or all of the screen.

  • UnknownRender The mode is not specified.
  • DirectRender Render to the GL context directly. This is the default for top-level viewports.
  • BufferedRender Render to an offscreen buffer. This is the default for a viewport that is a child.
bool StereoViewport::showPicking
readwrite

bool StereoViewport::showPicking The underlying mechanism for picking is based on painting an off-screen buffer with a flat coloured image containing all of the objects with a unique color value.

Setting this property to true will display this flat-colour picking representation in the viewport, which can be useful for debugging problems with object selection.

The default value for this property is false.

See Also
picking
bool StereoViewport::showSceneGraph
readwrite

bool StereoViewport::showSceneGraph

This property controls whether or not the 3D scenegraph structure is dumped to the console when the viewport is first rendered. Studying the output can be very useful for optimising the scene, and for detecting issues with rendering, such as misplaced textures, materials, geometry and so on.

By default the value is set to false.

StereoViewport::StereoType StereoViewport::stereoType
readwrite

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