QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsabstract3dengine.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsabstract3dengine.cpp
3 --------------------------------------
4 Date : July 2018
5 Copyright : (C) 2018 by Martin Dobias
6 Email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#include "qgsabstract3dengine.h"
17
18#include "qgsframegraph.h"
19
20#include <Qt3DRender/QRenderCapture>
21#include <Qt3DRender/QRenderSettings>
22
24 : QObject( parent )
25{
26
27}
28
30{
31 Qt3DRender::QRenderCaptureReply *captureReply;
32 captureReply = mFrameGraph->renderCapture()->requestCapture();
33
34 connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [ = ]
35 {
36 emit imageCaptured( captureReply->image() );
37 captureReply->deleteLater();
38 } );
39}
40
42{
43 Qt3DRender::QRenderCaptureReply *captureReply;
44 captureReply = mFrameGraph->depthRenderCapture()->requestCapture();
45
46 connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [ = ]
47 {
48 emit depthBufferCaptured( captureReply->image() );
49 captureReply->deleteLater();
50 } );
51}
52
54{
56}
57
59{
61}
void requestCaptureImage()
Starts a request for an image rendered by the engine.
void requestDepthBufferCapture()
Starts a request for an image containing the depth buffer data of the engine.
void imageCaptured(const QImage &image)
Emitted after a call to requestCaptureImage() to return the captured image.
bool renderCaptureEnabled() const
Returns whether it will be possible to render to an image.
void depthBufferCaptured(const QImage &image)
Emitted after a call to requestDepthBufferCapture() to return the captured depth buffer.
void setRenderCaptureEnabled(bool enabled)
Sets whether it will be possible to render to an image.
QgsAbstract3DEngine(QObject *parent=nullptr)
Constructor for QgsAbstract3DEngine with the specified parent object.
QgsFrameGraph * mFrameGraph
bool renderCaptureEnabled() const
Returns whether it will be possible to render to an image.
void setRenderCaptureEnabled(bool enabled)
Sets whether it will be possible to render to an image.
Qt3DRender::QRenderCapture * depthRenderCapture()
Returns the render capture object used to take an image of the depth buffer of the scene.
Qt3DRender::QRenderCapture * renderCapture()
Returns the render capture object used to take an image of the scene.