mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
Revert "Fix tests after 3D camera changes"
This reverts commit 771ff29c88e8c6b637c45de77465608e55355fff.
This commit is contained in:
parent
26c65500a3
commit
572417a082
@ -45,7 +45,6 @@
|
||||
#include <Qt3DRender/QRenderSettings>
|
||||
#include <QOpenGLContext>
|
||||
#include <QOpenGLFunctions>
|
||||
#include <qframeaction.h>
|
||||
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
|
||||
@ -59,17 +58,6 @@ typedef Qt3DCore::QBuffer Qt3DQBuffer;
|
||||
// declared here as Qgs3DTypes has no cpp file
|
||||
const char *Qgs3DTypes::PROP_NAME_3D_RENDERER_FLAG = "PROP_NAME_3D_RENDERER_FLAG";
|
||||
|
||||
static void waitForFrame( Qgs3DMapScene *scene )
|
||||
{
|
||||
// Wait for at least one frame to render
|
||||
Qt3DLogic::QFrameAction *frameAction = new Qt3DLogic::QFrameAction();
|
||||
scene->addComponent( frameAction );
|
||||
QEventLoop evLoop;
|
||||
QObject::connect( frameAction, &Qt3DLogic::QFrameAction::triggered, &evLoop, &QEventLoop::quit );
|
||||
evLoop.exec();
|
||||
scene->removeComponent( frameAction );
|
||||
}
|
||||
|
||||
QImage Qgs3DUtils::captureSceneImage( QgsAbstract3DEngine &engine, Qgs3DMapScene *scene )
|
||||
{
|
||||
QImage resImage;
|
||||
@ -78,7 +66,13 @@ QImage Qgs3DUtils::captureSceneImage( QgsAbstract3DEngine &engine, Qgs3DMapScene
|
||||
// We need to change render policy to RenderPolicy::Always, since otherwise render capture node won't work
|
||||
engine.renderSettings()->setRenderPolicy( Qt3DRender::QRenderSettings::RenderPolicy::Always );
|
||||
|
||||
waitForFrame( scene );
|
||||
auto requestImageFcn = [&engine, scene] {
|
||||
if ( scene->sceneState() == Qgs3DMapScene::Ready )
|
||||
{
|
||||
engine.renderSettings()->setRenderPolicy( Qt3DRender::QRenderSettings::RenderPolicy::OnDemand );
|
||||
engine.requestCaptureImage();
|
||||
}
|
||||
};
|
||||
|
||||
auto saveImageFcn = [&evLoop, &resImage]( const QImage &img ) {
|
||||
resImage = img;
|
||||
@ -88,14 +82,6 @@ QImage Qgs3DUtils::captureSceneImage( QgsAbstract3DEngine &engine, Qgs3DMapScene
|
||||
const QMetaObject::Connection conn1 = QObject::connect( &engine, &QgsAbstract3DEngine::imageCaptured, saveImageFcn );
|
||||
QMetaObject::Connection conn2;
|
||||
|
||||
auto requestImageFcn = [&engine, scene] {
|
||||
if ( scene->sceneState() == Qgs3DMapScene::Ready )
|
||||
{
|
||||
engine.renderSettings()->setRenderPolicy( Qt3DRender::QRenderSettings::RenderPolicy::OnDemand );
|
||||
engine.requestCaptureImage();
|
||||
}
|
||||
};
|
||||
|
||||
if ( scene->sceneState() == Qgs3DMapScene::Ready )
|
||||
{
|
||||
requestImageFcn();
|
||||
@ -124,8 +110,6 @@ QImage Qgs3DUtils::captureSceneDepthBuffer( QgsAbstract3DEngine &engine, Qgs3DMa
|
||||
// We need to change render policy to RenderPolicy::Always, since otherwise render capture node won't work
|
||||
engine.renderSettings()->setRenderPolicy( Qt3DRender::QRenderSettings::RenderPolicy::Always );
|
||||
|
||||
waitForFrame( scene );
|
||||
|
||||
auto requestImageFcn = [&engine, scene] {
|
||||
if ( scene->sceneState() == Qgs3DMapScene::Ready )
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user