diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2017-03-30 13:35:35 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2017-04-06 04:21:35 +0200 |
commit | e7158125d3c3b63371ddc7dc2d5b7d7865d91e64 (patch) | |
tree | 9ce314487879712916403b0f1dd92c5a96246aeb /pose-widget/glwidget.h | |
parent | 8660d0f4e141b32ce306144e95547a40926c62ed (diff) |
pose-widget: rename unit and header
Diffstat (limited to 'pose-widget/glwidget.h')
-rw-r--r-- | pose-widget/glwidget.h | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/pose-widget/glwidget.h b/pose-widget/glwidget.h deleted file mode 100644 index 4f50008e..00000000 --- a/pose-widget/glwidget.h +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright (c) 2013, 2015 Stanislaw Halik <sthalik@misaki.pl> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - */ - -#pragma once - -#include <QtGlobal> -#include <QWidget> -#include <QThread> -#include <QPixmap> -#include "api/plugin-api.hpp" -#include "compat/euler.hpp" - -#include <mutex> -#include <condition_variable> - -#ifdef BUILD_POSE_WIDGET -# define POSE_WIDGET_EXPORT Q_DECL_EXPORT -#else -# define POSE_WIDGET_EXPORT Q_DECL_IMPORT -#endif - -namespace pose_widget_impl { - -using num = float; -using vec3 = Mat<num, 3, 1>; -using vec2 = Mat<num, 2, 1>; - -using rmat = Mat<num, 3, 3>; - -using namespace euler; - -using lock_guard = std::unique_lock<std::mutex>; - -using cv_status = std::cv_status; - -class pose_widget; - -class pose_transform final : private QThread -{ - pose_transform(QWidget* dst); - ~pose_transform(); - - friend class pose_widget; - - void rotateBy(double xAngle, double yAngle, double zAngle, - double x, double y, double z, - const QSize& size); - - void run() override; - - vec2 project(const vec3& point); - vec3 project2(const vec3& point); - void project_quad_texture(); - - template<typename F> - inline void with_image_lock(F&& fun); - - static vec3 normal(const vec3& p1, const vec3& p2, const vec3& p3); - - rmat rotation; - vec3 translation; - - std::condition_variable_any cvar; - std::mutex mtx, mtx2; - - QWidget* dst; - - QImage front, back; - QImage image, image2; - - int width, height; - - static constexpr int w = 320, h = 240; -}; - -class POSE_WIDGET_EXPORT pose_widget final : public QWidget -{ -public: - pose_widget(QWidget *parent = nullptr); - ~pose_widget(); - void rotateBy(double xAngle, double yAngle, double zAngle, - double x, double y, double z); - -private: - pose_transform xform; - void paintEvent(QPaintEvent *event) override; -}; - -} - -using pose_widget_impl::pose_widget; |