public static void TryInstantiatingAnimatable(OvrAvatar.HandType hand, ShelfObject shelfObj)
        {
            if (RecognitionState != GestureRecognizerState.Default && RecognitionState != GestureRecognizerState.Recognizing)
            {
                return;
            }

            if (hand == OvrAvatar.HandType.Right &&
                (rightAlmostPointOn || rightPointOn || rightGrabOn || rightPinchOn))
            {
                var anim = shelfObj.InstantiateAnimatable();
                if (anim != null)
                {
                    ObjectInstantiator      = shelfObj;
                    ObjectBeingInstantiated = anim;
                    SetRecognitionState(GestureRecognizerState.Instantiating);
                }
            }
            else if (hand == OvrAvatar.HandType.Left &&
                     (leftAlmostPointOn || leftPointOn || leftGrabOn || leftPinchOn))
            {
                var anim = shelfObj.InstantiateAnimatable();
                if (anim != null)
                {
                    ObjectInstantiator      = shelfObj;
                    ObjectBeingInstantiated = anim;
                    SetRecognitionState(GestureRecognizerState.Instantiating);
                }
            }
        }
 private static void ProcessInteractionPose(OvrAvatar.HandType hand, List <Animatable> interactingList)
 {
     foreach (var intersection in PoseManager.Intersections)
     {
         if (intersection.Item1 == hand && intersection.Item2 == PoseManager.HandJoint.IndexTip)
         {
             interactingList.Add(intersection.Item3);
         }
     }
 }