QGIS API Documentation 3.29.0-Master (8c80f25a4f)
Public Member Functions | List of all members
QgsOffscreen3DEngine Class Reference

3 More...

#include <qgsoffscreen3dengine.h>

Inheritance diagram for QgsOffscreen3DEngine:
Inheritance graph
[legend]

Public Member Functions

 QgsOffscreen3DEngine ()
 
 ~QgsOffscreen3DEngine () override
 
Qt3DRender::QCamera * camera () override
 Returns pointer to the engine's camera entity. More...
 
Qt3DRender::QRenderSettings * renderSettings () override
 Returns access to the engine's render settings (the frame graph can be accessed from here) More...
 
void setClearColor (const QColor &color) override
 Sets background color of the scene. More...
 
void setFrustumCullingEnabled (bool enabled) override
 Sets whether frustum culling is enabled (this should make rendering faster by not rendering entities outside of camera's view) More...
 
void setRootEntity (Qt3DCore::QEntity *root) override
 Sets root entity of the 3D scene. More...
 
void setSize (QSize s) override
 Sets the size of the rendering area (in pixels) More...
 
QSize size () const override
 Returns size of the engine's rendering area in pixels. More...
 
QSurface * surface () const override
 Returns the surface of the engine. More...
 
- Public Member Functions inherited from QgsAbstract3DEngine
 QgsAbstract3DEngine (QObject *parent=nullptr)
 Constructor for QgsAbstract3DEngine with the specified parent object. More...
 
virtual Qt3DRender::QCamera * camera ()=0
 Returns pointer to the engine's camera entity. More...
 
QgsShadowRenderingFrameGraphframeGraph ()
 Returns the shadow rendering frame graph object used to render the scene. More...
 
bool renderCaptureEnabled () const
 Returns whether it will be possible to render to an image. More...
 
virtual Qt3DRender::QRenderSettings * renderSettings ()=0
 Returns access to the engine's render settings (the frame graph can be accessed from here) More...
 
void requestCaptureImage ()
 Starts a request for an image rendered by the engine. More...
 
void requestDepthBufferCapture ()
 Starts a request for an image containing the depth buffer data of the engine. More...
 
virtual void setClearColor (const QColor &color)=0
 Sets background color of the scene. More...
 
virtual void setFrustumCullingEnabled (bool enabled)=0
 Sets whether frustum culling is enabled (this should make rendering faster by not rendering entities outside of camera's view) More...
 
void setRenderCaptureEnabled (bool enabled)
 Sets whether it will be possible to render to an image. More...
 
virtual void setRootEntity (Qt3DCore::QEntity *root)=0
 Sets root entity of the 3D scene. More...
 
virtual void setSize (QSize s)=0
 Sets the size of the rendering area (in pixels) More...
 
virtual QSize size () const =0
 Returns size of the engine's rendering area in pixels. More...
 
virtual QSurface * surface () const =0
 Returns the surface of the engine. More...
 

Additional Inherited Members

- Signals inherited from QgsAbstract3DEngine
void depthBufferCaptured (const QImage &image)
 Emitted after a call to requestDepthBufferCapture() to return the captured depth buffer. More...
 
void imageCaptured (const QImage &image)
 Emitted after a call to requestCaptureImage() to return the captured image. More...
 
- Protected Attributes inherited from QgsAbstract3DEngine
QgsShadowRenderingFrameGraphmFrameGraph = nullptr
 

Detailed Description

3

Off-screen 3D engine implementation. It is useful for recording rendered 3D scenes of arbitrary size.

Note
While the on-screen 3D engine also allows capturing of images, its limitation is that the captured images are of the size of the on-screen window.
Not available in Python bindings
Since
QGIS 3.4

Definition at line 66 of file qgsoffscreen3dengine.h.

Constructor & Destructor Documentation

◆ QgsOffscreen3DEngine()

QgsOffscreen3DEngine::QgsOffscreen3DEngine ( )

Definition at line 38 of file qgsoffscreen3dengine.cpp.

◆ ~QgsOffscreen3DEngine()

QgsOffscreen3DEngine::~QgsOffscreen3DEngine ( )
override

Definition at line 111 of file qgsoffscreen3dengine.cpp.

Member Function Documentation

◆ camera()

Qt3DRender::QCamera * QgsOffscreen3DEngine::camera ( )
overridevirtual

Returns pointer to the engine's camera entity.

Implements QgsAbstract3DEngine.

Definition at line 155 of file qgsoffscreen3dengine.cpp.

◆ renderSettings()

Qt3DRender::QRenderSettings * QgsOffscreen3DEngine::renderSettings ( )
overridevirtual

Returns access to the engine's render settings (the frame graph can be accessed from here)

Implements QgsAbstract3DEngine.

Definition at line 150 of file qgsoffscreen3dengine.cpp.

◆ setClearColor()

void QgsOffscreen3DEngine::setClearColor ( const QColor &  color)
overridevirtual

Sets background color of the scene.

Implements QgsAbstract3DEngine.

Definition at line 125 of file qgsoffscreen3dengine.cpp.

◆ setFrustumCullingEnabled()

void QgsOffscreen3DEngine::setFrustumCullingEnabled ( bool  enabled)
overridevirtual

Sets whether frustum culling is enabled (this should make rendering faster by not rendering entities outside of camera's view)

Implements QgsAbstract3DEngine.

Definition at line 130 of file qgsoffscreen3dengine.cpp.

◆ setRootEntity()

void QgsOffscreen3DEngine::setRootEntity ( Qt3DCore::QEntity *  root)
overridevirtual

Sets root entity of the 3D scene.

Implements QgsAbstract3DEngine.

Definition at line 135 of file qgsoffscreen3dengine.cpp.

◆ setSize()

void QgsOffscreen3DEngine::setSize ( QSize  s)
overridevirtual

Sets the size of the rendering area (in pixels)

Implements QgsAbstract3DEngine.

Definition at line 117 of file qgsoffscreen3dengine.cpp.

◆ size()

QSize QgsOffscreen3DEngine::size ( ) const
overridevirtual

Returns size of the engine's rendering area in pixels.

Implements QgsAbstract3DEngine.

Definition at line 160 of file qgsoffscreen3dengine.cpp.

◆ surface()

QSurface * QgsOffscreen3DEngine::surface ( ) const
overridevirtual

Returns the surface of the engine.

Since
QGIS 3.14

Implements QgsAbstract3DEngine.

Definition at line 165 of file qgsoffscreen3dengine.cpp.


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