ImagingTools Core SDK
CWireShape.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// STL includes
6#include <set>
7
8// ACF includes
9#include <istd/TRange.h>
10
11// ImtCore includes
12#include <imt3dgui/CShape3dBase.h>
13#include <imt3d/IMesh3d.h>
14
15
16namespace imt3dgui
17{
18
19
24{
26
27public:
28 CWireShape();
29
30 void SetColor(const QVector3D& color);
31 void SetInfoBoxEnabled(bool isEnabled = true);
32
33protected:
34 // reimplemented (imt3dgui::CShape3dBase)
35 virtual void UpdateShapeGeometry(const istd::IChangeable::ChangeSet& changeSet) override;
36 virtual void DrawShapeGl(QOpenGLShaderProgram& program, QOpenGLFunctions& functions) override;
37
38 // reimplemented (imt3dview::IDrawable)
39 virtual void Draw(QPainter& painter) override;
40
41 // reimplemented (imt3dgui::IShape3d)
42 virtual QVector3D GetColor() const override;
43
44private:
45
46private:
47 QVector3D m_color;
48 bool m_isInfoBoxEnabled;
49};
50
51
52} // namespace imt3dgui
53
54