/
ArtemNech
/
simpleOpenGL
Обзор
Документация
Войти
/
ArtemNech
/
simpleOpenGL
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
backend/ogl_sys/NTransform.h
44 строки
1 KB
Artem Nechitaylenko
Qt GUI isolated from backend except QEvent. Need fix
18 май 2026, 13:41
18 май 2026, 13:41
f09d1f2
Код
Авторство
О чём код?
// // Created by artem on 20.10.25. // #ifndef NYM_PROJECT_NTRANSFORM_H #define NYM_PROJECT_NTRANSFORM_H #include <glm/glm.hpp> #include "../graphics-units/NRectF.h" #include "../graphics-units/NLine.h" namespace ngraph { class NTransform { public: NTransform(); static NTransform scale(double sx, double sy); static NTransform translate(double dx, double dy); static NTransform translate(const NPointF& offset); [[nodiscard]] NPointF map(const NPointF& point) const; [[nodiscard]] NRectF map(const NRectF& rect) const; [[nodiscard]] NLineF map(const NLineF& line) const; [[nodiscard]] NTransform combined(const NTransform& other) const; [[nodiscard]] double scaleX() const; [[nodiscard]] double scaleY() const; [[nodiscard]] double uniformScale() const; [[nodiscard]] NTransform inverted() const; // Конвертер в glm::mat4 [[nodiscard]] glm::mat4 toGlmMatrix() const; private: double m11{1.0}, m12{0.0}, m13{0.0}; double m21{0.0}, m22{1.0}, m23{0.0}; double m31{0.0}, m32{0.0}, m33{1.0}; }; } #endif //NYM_PROJECT_NTRANSFORM_H