// Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB). // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #ifndef BOXENTITY_H #define BOXENTITY_H #include #include #include #include class BoxEntity : public Qt3DCore::QEntity { Q_OBJECT Q_PROPERTY(QColor diffuseColor READ diffuseColor WRITE setDiffuseColor NOTIFY diffuseColorChanged) Q_PROPERTY(float angle READ angle WRITE setAngle NOTIFY angleChanged) Q_PROPERTY(float radius READ radius WRITE setRadius NOTIFY radiusChanged) public: BoxEntity(QNode *parent = 0); QColor diffuseColor(); float angle() const; float radius() const; public Q_SLOTS: void setDiffuseColor(const QColor &diffuseColor); void setAngle(float arg); void setRadius(float arg); Q_SIGNALS: void diffuseColorChanged(const QColor &); void angleChanged(); void radiusChanged(); private: void updateTransformation(); Qt3DCore::QTransform *m_transform; Qt3DExtras::QCuboidMesh *m_mesh; Qt3DExtras::QPhongMaterial *m_material; float m_angle; float m_radius; }; #endif // BOXENTITY_H