From 1db3592d4c593a595fe1a5905f94fb2c6c0b0271 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Sun, 14 Dec 2014 19:56:42 -0800 Subject: [PATCH] Switched meFaceshifto DependencyManager for Faceshift --- interface/src/Application.cpp | 17 ++++++++++------- interface/src/Application.h | 4 +--- interface/src/devices/Faceshift.h | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 7a0e61240a..8a13ef650d 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -1690,8 +1691,10 @@ int Application::getMouseDragStartedY() const { } FaceTracker* Application::getActiveFaceTracker() { + Faceshift* faceshift = DependencyManager::get(); + return (_dde.isActive() ? static_cast(&_dde) : - (_faceshift.isActive() ? static_cast(&_faceshift) : + (faceshift->isActive() ? static_cast(faceshift) : (_visage.isActive() ? static_cast(&_visage) : NULL))); } @@ -1976,7 +1979,7 @@ void Application::init() { #endif // initialize our face trackers after loading the menu settings - _faceshift.init(); + DependencyManager::get()->init(); _visage.init(); Leapmotion::init(); @@ -2101,13 +2104,13 @@ void Application::updateMouseRay() { void Application::updateFaceshift() { bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); PerformanceWarning warn(showWarnings, "Application::updateFaceshift()"); - + Faceshift* faceshift = DependencyManager::get(); // Update faceshift - _faceshift.update(); + faceshift->update(); // Copy angular velocity if measured by faceshift, to the head - if (_faceshift.isActive()) { - _myAvatar->getHead()->setAngularVelocity(_faceshift.getHeadAngularVelocity()); + if (faceshift->isActive()) { + _myAvatar->getHead()->setAngularVelocity(faceshift->getHeadAngularVelocity()); } } @@ -3549,7 +3552,7 @@ void Application::deleteVoxelAt(const VoxelDetail& voxel) { } void Application::resetSensors() { - _faceshift.reset(); + DependencyManager::get()->reset(); _visage.reset(); _dde.reset(); diff --git a/interface/src/Application.h b/interface/src/Application.h index f82b14b47e..61ae317713 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -220,8 +220,7 @@ public: int getMouseDragStartedY() const; int getTrueMouseDragStartedX() const { return _mouseDragStartedX; } int getTrueMouseDragStartedY() const { return _mouseDragStartedY; } - bool getLastMouseMoveWasSimulated() const { return _lastMouseMoveWasSimulated;; } - Faceshift* getFaceshift() { return &_faceshift; } + bool getLastMouseMoveWasSimulated() const { return _lastMouseMoveWasSimulated; } Visage* getVisage() { return &_visage; } DdeFaceTracker* getDDE() { return &_dde; } FaceTracker* getActiveFaceTracker(); @@ -532,7 +531,6 @@ private: AvatarManager _avatarManager; MyAvatar* _myAvatar; // TODO: move this and relevant code to AvatarManager (or MyAvatar as the case may be) - Faceshift _faceshift; Visage _visage; DdeFaceTracker _dde; diff --git a/interface/src/devices/Faceshift.h b/interface/src/devices/Faceshift.h index 618a8fb975..83be51c7fa 100644 --- a/interface/src/devices/Faceshift.h +++ b/interface/src/devices/Faceshift.h @@ -24,7 +24,7 @@ #include "FaceTracker.h" /// Handles interaction with the Faceshift software, which provides head position/orientation and facial features. -class Faceshift : public FaceTracker { +class Faceshift : public FaceTracker, public DependencyManager::Dependency { Q_OBJECT public: