summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-08-11 06:35:43 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-08-11 06:35:43 +0200
commit9161646a6ed0b84770c9645689b98b2d4a2dfb82 (patch)
tree8fdfff62b9e6b64a8d2a169305b7ce9b4c54abba
parent6685572195f1e3e22a803ca984d3566516488815 (diff)
pose-widget: don't pollute global namespace
-rwxr-xr-xpose-widget/glwidget.cpp10
-rwxr-xr-xpose-widget/glwidget.h9
2 files changed, 10 insertions, 9 deletions
diff --git a/pose-widget/glwidget.cpp b/pose-widget/glwidget.cpp
index 6da1948e..d6d5260e 100755
--- a/pose-widget/glwidget.cpp
+++ b/pose-widget/glwidget.cpp
@@ -60,6 +60,8 @@ void GLWidget::rotateBy(float xAngle, float yAngle, float zAngle, float x, float
class Triangle {
using num = GLWidget::num;
+ using vec2 = GLWidget::vec2;
+ using vec3 = GLWidget::vec3;
public:
Triangle(const vec2& p1,
const vec2& p2,
@@ -89,10 +91,8 @@ private:
vec2 v0, v1, origin;
};
-static __inline vec3 normal(const vec3& p1, const vec3& p2, const vec3& p3)
+inline GLWidget::vec3 GLWidget::normal(const vec3& p1, const vec3& p2, const vec3& p3)
{
- using num = GLWidget::num;
-
vec3 u = p2 - p1;
vec3 v = p3 - p1;
@@ -194,7 +194,7 @@ void GLWidget::project_quad_texture() {
this->texture = texture;
}
-vec2 GLWidget::project(const vec3 &point)
+GLWidget::vec2 GLWidget::project(const vec3 &point)
{
vec3 ret = rotation * point;
num z = std::max<num>(.75, 1. + translation.z()/-60);
@@ -208,7 +208,7 @@ vec2 GLWidget::project(const vec3 &point)
return vec2 { z * (ret.x() + x), z * (ret.y() + y) };
}
-vec3 GLWidget::project2(const vec3 &point)
+GLWidget::vec3 GLWidget::project2(const vec3 &point)
{
return rotation * point;
}
diff --git a/pose-widget/glwidget.h b/pose-widget/glwidget.h
index aaea3e06..81517399 100755
--- a/pose-widget/glwidget.h
+++ b/pose-widget/glwidget.h
@@ -12,14 +12,14 @@
#include "opentrack/plugin-api.hpp"
#include "opentrack/simple-mat.hpp"
-typedef Mat<float, 2, 1> vec2;
-typedef Mat<float, 3, 1> vec3;
-typedef Mat<float, 3, 3> rmat;
-
class GLWidget : public QWidget
{
public:
using num = float;
+ using vec2 = Mat<num, 2, 1>;
+ using vec3 = Mat<num, 3, 1>;
+ using rmat = Mat<num, 3, 3>;
+
GLWidget(QWidget *parent);
~GLWidget();
void rotateBy(float xAngle, float yAngle, float zAngle, float x, float y, float z);
@@ -29,6 +29,7 @@ private:
vec2 project(const vec3& point);
vec3 project2(const vec3& point);
void project_quad_texture();
+ static inline vec3 normal(const vec3& p1, const vec3& p2, const vec3& p3);
rmat rotation;
vec3 translation;
QImage front;