29 lines
506 B
C++
29 lines
506 B
C++
#pragma once
|
|
|
|
#include <QWidget>
|
|
#include <QSpinBox>
|
|
#include <glm/glm.hpp>
|
|
#include <glm/gtc/quaternion.hpp>
|
|
|
|
class QuaternionWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit QuaternionWidget(glm::quat& ref, QWidget* parent = nullptr);
|
|
~QuaternionWidget();
|
|
|
|
void RebuildQuat();
|
|
|
|
signals:
|
|
void onValueChanged();
|
|
|
|
private:
|
|
struct
|
|
{
|
|
QDoubleSpinBox* x, *y, *z;
|
|
} m_spinBoxes;
|
|
|
|
glm::quat& m_reference;
|
|
glm::vec3 m_eulerRotation;
|
|
QTimer* m_updateTimer;
|
|
};
|