From f7fcbc234e82d6beb00db65b8e6998f184a3c154 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 19 Feb 2014 11:47:40 -0800 Subject: [PATCH] Fixes for Xcode warnings with no Visage, explanatory comments for Model's base geometry pointer. --- interface/src/devices/Visage.cpp | 10 +++++++--- interface/src/devices/Visage.h | 11 ++++++----- interface/src/renderer/Model.cpp | 1 + interface/src/renderer/Model.h | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/interface/src/devices/Visage.cpp b/interface/src/devices/Visage.cpp index 26e7993ecb..4727aac1fe 100644 --- a/interface/src/devices/Visage.cpp +++ b/interface/src/devices/Visage.cpp @@ -30,12 +30,14 @@ using namespace VisageSDK; const glm::vec3 DEFAULT_HEAD_ORIGIN(0.0f, 0.0f, 0.7f); Visage::Visage() : +#ifdef HAVE_VISAGE + _leftInnerBrowIndex(0), + _rightInnerBrowIndex(0), +#endif _active(false), _headOrigin(DEFAULT_HEAD_ORIGIN), _estimatedEyePitch(0.0f), - _estimatedEyeYaw(0.0f), - _leftInnerBrowIndex(0), - _rightInnerBrowIndex(0) { + _estimatedEyeYaw(0.0f) { #ifdef HAVE_VISAGE switchToResourcesParentIfRequired(); @@ -62,6 +64,7 @@ Visage::~Visage() { #endif } +#ifdef HAVE_VISAGE static int leftEyeBlinkIndex = 0; static int rightEyeBlinkIndex = 1; static int centerBrowIndex = 16; @@ -111,6 +114,7 @@ static const QHash& getBlendshapeIndices() { static QHash blendshapeIndices = createBlendshapeIndices(); return blendshapeIndices; } +#endif const float TRANSLATION_SCALE = 20.0f; diff --git a/interface/src/devices/Visage.h b/interface/src/devices/Visage.h index 124ef29e3b..a5c826d1bf 100644 --- a/interface/src/devices/Visage.h +++ b/interface/src/devices/Visage.h @@ -42,9 +42,14 @@ public: void reset(); private: - + +#ifdef HAVE_VISAGE VisageSDK::VisageTracker2* _tracker; VisageSDK::FaceData* _data; + int _leftInnerBrowIndex; + int _rightInnerBrowIndex; + QVector _blendshapeIndices; +#endif bool _active; glm::quat _headRotation; @@ -56,10 +61,6 @@ private: float _estimatedEyeYaw; std::vector _blendshapeCoefficients; - - QVector _blendshapeIndices; - int _leftInnerBrowIndex; - int _rightInnerBrowIndex; }; #endif /* defined(__interface__Visage__) */ diff --git a/interface/src/renderer/Model.cpp b/interface/src/renderer/Model.cpp index 48e1d0f70c..f1916db4d1 100644 --- a/interface/src/renderer/Model.cpp +++ b/interface/src/renderer/Model.cpp @@ -421,6 +421,7 @@ void Model::setURL(const QUrl& url, const QUrl& fallback) { _dilatedTextures.clear(); _lodHysteresis = NetworkGeometry::NO_HYSTERESIS; + // we retain a reference to the base geometry so that its reference count doesn't fall to zero _baseGeometry = _geometry = Application::getInstance()->getGeometryCache()->getGeometry(url, fallback); } diff --git a/interface/src/renderer/Model.h b/interface/src/renderer/Model.h index 1d1cdc22a7..28189d0379 100644 --- a/interface/src/renderer/Model.h +++ b/interface/src/renderer/Model.h @@ -227,7 +227,7 @@ private: void deleteGeometry(); void renderMeshes(float alpha, bool translucent); - QSharedPointer _baseGeometry; + QSharedPointer _baseGeometry; ///< reference required to prevent collection of base float _lodHysteresis; float _pupilDilation;