Files
qt-creator/src/tools/qml2puppet/qml2puppet/instances/qt5import3dnodeinstanceserver.h
Miikka Heikkinen 8bfe805645 QmlDesigner: Allow rotation of 3D import preview
3D import preview can now be rotated using left mouse button and
dragging the preview image. This causes camera to orbit around the
previewed model, similar to rotation to 3D edit view orbit camera.

Close/Cancel button logic was also improved.

Fixes: QDS-12795
Change-Id: I0c7d1ad28f8fe779b9bedc4bf76be704078d91a6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-05-23 10:48:44 +00:00

49 lines
1.1 KiB
C++

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
#pragma once
#include "generalhelper.h"
#include "qt5nodeinstanceserver.h"
QT_BEGIN_NAMESPACE
class QQuick3DNode;
QT_END_NAMESPACE
namespace QmlDesigner {
class Qt5Import3dNodeInstanceServer : public Qt5NodeInstanceServer
{
Q_OBJECT
public:
explicit Qt5Import3dNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
public:
virtual ~Qt5Import3dNodeInstanceServer();
void createScene(const CreateSceneCommand &command) override;
void view3DAction(const View3DActionCommand &command) override;
void render();
protected:
void collectItemChangesAndSendChangeCommands() override;
void startRenderTimer() override;
private:
void finish();
void cleanup();
int m_renderCount = 0;
bool m_keepRendering = false;
#ifdef QUICK3D_MODULE
QQuick3DViewport *m_view3D = nullptr;
Internal::GeneralHelper *m_generalHelper = nullptr;
QQuick3DNode *m_previewNode = nullptr;
QVector3D m_lookAt;
#endif
};
} // namespace QmlDesigner