summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-06-18 08:45:52 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-06-18 08:45:52 +0200
commit47a512da1e98b88cd96fc761c567cef4eadd376c (patch)
tree5e1562b547dcf0f7ee3aa8fb9a6f387ce665b204 /ftnoir_tracker_pt/ftnoir_tracker_pt.cpp
parent33287155bdc7e4beefb45ceef0aaaeb4ecb742a7 (diff)
flush
It crashes after drawing a frame for now.
Diffstat (limited to 'ftnoir_tracker_pt/ftnoir_tracker_pt.cpp')
-rw-r--r--ftnoir_tracker_pt/ftnoir_tracker_pt.cpp62
1 files changed, 44 insertions, 18 deletions
diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp
index 4c0913e7..bad75238 100644
--- a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp
+++ b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp
@@ -12,6 +12,7 @@
#include <QFile>
#include <QCoreApplication>
#include "opentrack/thread.hpp"
+#include "opentrack/camera-names.hpp"
using namespace std;
using namespace cv;
@@ -53,7 +54,19 @@ void Tracker_PT::reset_command(Command command)
float Tracker_PT::get_focal_length()
{
static constexpr float pi = 3.1415926f;
- const float fov = static_cast<int>(s.fov) * pi / 180.f;
+ float fov_;
+ switch (s.fov)
+ {
+ default:
+ case 0:
+ fov_ = 56;
+ break;
+ case 1:
+ fov_ = 75;
+ break;
+ }
+
+ const float fov = static_cast<int>(fov_) * pi / 180.f;
return 0.5f / tan(0.5f * fov);
}
@@ -85,7 +98,7 @@ void Tracker_PT::run()
ever_success |= success;
if (success)
- point_tracker.track(points, PointModel(s), get_focal_length(), s.dynamic_pose);
+ point_tracker.track(points, PointModel(s), get_focal_length(), true);
{
Affine X_CM = pose();
@@ -128,15 +141,39 @@ void Tracker_PT::run()
qDebug()<<"Tracker:: Thread stopping";
}
-int camera_name_to_index(const QString &name);
-
void Tracker_PT::apply_settings()
{
qDebug()<<"Tracker:: Applying settings";
QMutexLocker lock(&mutex);
- camera.set_device_index(camera_name_to_index(s.camera_name));
- camera.set_res(s.cam_res_x, s.cam_res_y);
- camera.set_fps(s.cam_fps);
+ camera.set_device_index(camera_name_to_index("PS3Eye Camera"));
+ int res_x, res_y, cam_fps;
+ switch (s.camera_mode)
+ {
+ default:
+ case 0:
+ res_x = 640;
+ res_y = 480;
+ cam_fps = 75;
+ break;
+ case 1:
+ res_x = 640;
+ res_y = 480;
+ cam_fps = 60;
+ break;
+ case 2:
+ res_x = 320;
+ res_y = 240;
+ cam_fps = 189;
+ break;
+ case 3:
+ res_x = 320;
+ res_y = 240;
+ cam_fps = 120;
+ break;
+ }
+
+ camera.set_res(res_x, res_y);
+ camera.set_fps(cam_fps);
qDebug()<<"Tracker::apply ends";
}
@@ -202,14 +239,3 @@ void Tracker_PT::data(THeadPoseData *data)
data[TZ] = t[2] / 10.0;
}
}
-
-//-----------------------------------------------------------------------------
-#ifdef OPENTRACK_API
-extern "C" OPENTRACK_EXPORT ITracker* GetConstructor()
-#else
-#pragma comment(linker, "/export:GetTracker=_GetTracker@0")
-OPENTRACK_EXPORT ITrackerPtr __stdcall GetTracker()
-#endif
-{
- return new Tracker_PT;
-}