ImagingTools Core SDK
IScene3d.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 <QtCore/QByteArray>
7
8// ImtCore includes
9#include <imt3dview/IScene3dItem.h>
10#include <imt3dview/IDrawable.h>
11
12
13namespace imt3dview
14{
15
16
20class IScene3d: virtual public IDrawable
21{
22public:
23 enum ShapeFlags
24 {
25 SF_NONE = 0
26 };
27
31 virtual void SetCamera(IScene3dCamera* cameraPtr) = 0;
32
36 virtual void SetProjection(const QMatrix4x4& projection) = 0;
37
41 virtual void SetViewPort(const QRect& viewPort) = 0;
42
46 virtual imt3d::CCuboid GetBoundingCuboid() const = 0;
47
51 virtual QByteArrayList GetShapeIds() const = 0;
52
56 virtual imt3dview::IScene3dItem* GetShapePtr(const QByteArray& id) const = 0;
57
62 virtual QByteArray AddShapeToScene(imt3dview::IScene3dItem* objectPtr, int shapeFlags = SF_NONE) = 0;
63
67 virtual void RemoveShapeFromScene(imt3dview::IScene3dItem* objectPtr) = 0;
68};
69
70
71} // namespace imt3dview
72
73
virtual imt3d::CCuboid GetBoundingCuboid() const =0
virtual void SetViewPort(const QRect &viewPort)=0
virtual QByteArray AddShapeToScene(imt3dview::IScene3dItem *objectPtr, int shapeFlags=SF_NONE)=0
virtual void SetProjection(const QMatrix4x4 &projection)=0
virtual imt3dview::IScene3dItem * GetShapePtr(const QByteArray &id) const =0
virtual QByteArrayList GetShapeIds() const =0
virtual void RemoveShapeFromScene(imt3dview::IScene3dItem *objectPtr)=0
virtual void SetCamera(IScene3dCamera *cameraPtr)=0