From f28fc5f79b6d42cb375494edd15f109aa237da6a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 14 Jan 2014 16:08:40 -0800 Subject: [PATCH] Adding palm accessor method that fetches left or right, as specified. --- libraries/avatars/src/HandData.cpp | 12 ++++++++++++ libraries/avatars/src/HandData.h | 1 + 2 files changed, 13 insertions(+) diff --git a/libraries/avatars/src/HandData.cpp b/libraries/avatars/src/HandData.cpp index e8b2c97ff0..62a15efb1a 100644 --- a/libraries/avatars/src/HandData.cpp +++ b/libraries/avatars/src/HandData.cpp @@ -41,6 +41,18 @@ PalmData& HandData::addNewPalm() { const int SIXENSE_CONTROLLER_ID_LEFT_HAND = 0; const int SIXENSE_CONTROLLER_ID_RIGHT_HAND = 1; +const PalmData* HandData::getPalm(int sixSenseID) const { + // the palms are not necessarily added in left-right order, + // so we have to search for the right SixSenseID + for (int i = 0; i < _palms.size(); i++) { + const PalmData* palm = &(_palms[i]); + if (palm->getSixenseID() == sixSenseID) { + return palm->isActive() ? palm : NULL; + } + } + return NULL; +} + void HandData::getLeftRightPalmIndices(int& leftPalmIndex, int& rightPalmIndex) const { leftPalmIndex = -1; rightPalmIndex = -1; diff --git a/libraries/avatars/src/HandData.h b/libraries/avatars/src/HandData.h index a0c8fed980..8de0c2d9f8 100755 --- a/libraries/avatars/src/HandData.h +++ b/libraries/avatars/src/HandData.h @@ -55,6 +55,7 @@ public: std::vector& getPalms() { return _palms; } const std::vector& getPalms() const { return _palms; } + const PalmData* getPalm(int sixSenseID) const; size_t getNumPalms() const { return _palms.size(); } PalmData& addNewPalm();