ImagingTools Core SDK
IScene3dItem.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtGui/QQuaternion>
7#include <QtGui/QVector3D>
8
9// ImtCore includes
10#include <imt3dview/IDrawable.h>
11#include <imt3dview/IScene3dCamera.h>
12
13
14namespace imt3dview
15{
16
17
21class IScene3dItem: virtual public IDrawable
22{
23public:
24 virtual bool IsValid() const = 0;
25
26 virtual void SetCamera(const IScene3dCamera* cameraPtr) = 0;
27 virtual void SetProjection(const QMatrix4x4& projection) = 0;
28 virtual void SetViewPort(const QRect& viewPort) = 0;
29
30 virtual const QVector3D& GetPosition() const = 0;
31 virtual void SetPosition(const QVector3D& position) = 0;
32
33 virtual const QQuaternion& GetRotation() const = 0;
34 virtual void SetRotation(const QQuaternion& rotation) = 0;
35
36 virtual float GetScale() const = 0;
37 virtual void SetScale(float scale) = 0;
38};
39
40
41} // namespace imt3dview
42
43