2021-05-25 17:18:56 +03:00
|
|
|
#ifndef GUIOBJECT_H
|
|
|
|
#define GUIOBJECT_H
|
|
|
|
|
|
|
|
#include "baseclass.h"
|
|
|
|
#include "QObject"
|
|
|
|
|
|
|
|
#include <QRectF>
|
|
|
|
|
|
|
|
class GuiObject:public QObject, public BaseClass
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
// @todo: add color
|
|
|
|
Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged)
|
|
|
|
Q_PROPERTY(int guiId READ guiId NOTIFY guiIdChanged)
|
|
|
|
Q_PROPERTY(QString viewTemplate READ viewTemplate NOTIFY viewTemplateChanged)
|
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
Q_PROPERTY(float x READ x WRITE setX NOTIFY xChanged)
|
|
|
|
Q_PROPERTY(float y READ y WRITE setY NOTIFY yChanged)
|
|
|
|
Q_PROPERTY(float z READ z WRITE setZ NOTIFY zChanged)
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
// size of object for each axis
|
|
|
|
Q_PROPERTY(float dx READ dx WRITE setDx NOTIFY dxChanged)
|
|
|
|
Q_PROPERTY(float dy READ dy WRITE setDy NOTIFY dyChanged)
|
|
|
|
Q_PROPERTY(float dz READ dz WRITE setDz NOTIFY dzChanged)
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
// rotation foeach axis
|
|
|
|
Q_PROPERTY(float rx READ rx WRITE setRx NOTIFY rxChanged)
|
|
|
|
Q_PROPERTY(float ry READ ry WRITE setRy NOTIFY ryChanged)
|
|
|
|
Q_PROPERTY(float rz READ rz WRITE setRz NOTIFY rzChanged)
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
// textures
|
|
|
|
Q_PROPERTY(QString baseColorMap READ baseColorMap NOTIFY baseColorMapChanged)
|
|
|
|
Q_PROPERTY(QString roughnessMap READ roughnessMap NOTIFY roughnessMapChanged)
|
|
|
|
Q_PROPERTY(QString normalMap READ normalMap NOTIFY normalMapChanged)
|
|
|
|
Q_PROPERTY(QString emissiveMap READ emissiveMap NOTIFY emissiveMapChanged)
|
2021-05-25 17:18:56 +03:00
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
GuiObject(const QString& viewTempalte = "GraphicItem", QObject *ptr = nullptr);
|
|
|
|
|
|
|
|
void render() override;
|
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
QString color() const;
|
|
|
|
void setColor(QString color);
|
|
|
|
|
|
|
|
virtual void reset();
|
|
|
|
QString viewTemplate() const;
|
|
|
|
|
2021-05-25 17:18:56 +03:00
|
|
|
int guiId() const;
|
2021-06-01 18:00:17 +03:00
|
|
|
void setGuiId(int guiId);
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
float x() const;
|
|
|
|
void setX(float newX);
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
float y() const;
|
|
|
|
void setY(float newY);
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
float z() const;
|
|
|
|
void setZ(float newZ);
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
float dx() const;
|
|
|
|
void setDx(float newDx);
|
2021-05-25 17:18:56 +03:00
|
|
|
|
2021-06-01 18:00:17 +03:00
|
|
|
float dy() const;
|
|
|
|
void setDy(float newDy);
|
|
|
|
|
|
|
|
float dz() const;
|
|
|
|
void setDz(float newDz);
|
|
|
|
|
|
|
|
float rx() const;
|
|
|
|
void setRx(float newRx);
|
|
|
|
|
|
|
|
float ry() const;
|
|
|
|
void setRy(float newRy);
|
|
|
|
|
|
|
|
float rz() const;
|
|
|
|
void setRz(float newRz);
|
|
|
|
|
|
|
|
const QString &baseColorMap() const;
|
|
|
|
|
|
|
|
const QString &roughnessMap() const;
|
|
|
|
|
|
|
|
const QString &normalMap() const;
|
|
|
|
|
|
|
|
const QString &emissiveMap() const;
|
2021-05-25 17:18:56 +03:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
|
|
void setRadius(int radius);
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void guiIdChanged(int guiId);
|
|
|
|
void colorChanged(QString color);
|
2021-06-01 18:00:17 +03:00
|
|
|
void viewTemplateChanged(QString viewTemplate);
|
|
|
|
|
2021-06-01 16:18:54 +03:00
|
|
|
void xChanged();
|
|
|
|
void yChanged();
|
2021-06-01 18:00:17 +03:00
|
|
|
void zChanged();
|
|
|
|
void dxChanged();
|
|
|
|
void dyChanged();
|
|
|
|
void dzChanged();
|
|
|
|
void rxChanged();
|
|
|
|
void ryChanged();
|
|
|
|
void rzChanged();
|
|
|
|
void baseColorMapChanged();
|
|
|
|
void roughnessMapChanged();
|
|
|
|
void normalMapChanged();
|
|
|
|
void emissiveMapChanged();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
int _guiId = -1;
|
|
|
|
QString _color = "";
|
|
|
|
|
|
|
|
float _x;
|
|
|
|
float _y;
|
|
|
|
float _z;
|
|
|
|
float _dx;
|
|
|
|
float _dy;
|
|
|
|
float _dz;
|
|
|
|
float _rx;
|
|
|
|
float _ry;
|
|
|
|
float _rz;
|
|
|
|
|
|
|
|
void setTexture(const QString &texture);
|
|
|
|
|
|
|
|
private:
|
|
|
|
void generateId();
|
|
|
|
|
|
|
|
|
|
|
|
QString _baseColorMap;
|
|
|
|
QString _roughnessMap;
|
|
|
|
QString _normalMap;
|
|
|
|
QString _emissiveMap;
|
|
|
|
QString _viewTemplate;
|
|
|
|
|
2021-05-25 17:18:56 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // GUIOBJECT_H
|