public ManagedFinger GetFinger(FingerType fingerType) { ManagedFinger finger = null; switch (fingerType) { case FingerType.Thumb: finger = Thumb; break; case FingerType.Index: finger = Index; break; case FingerType.Middle: finger = Middle; break; case FingerType.Ring: finger = Ring; break; case FingerType.Pinky: finger = Pinky; break; } return(finger); }
//Constructors: public ManagedHandSkeleton(ManagedHand managedHand) { //refs: _mainCamera = Camera.main; //sets: _managedHand = managedHand; //establish rotation offsets: _rotationOffsets = new List <Vector3>(); _rotationOffsets.Add(Vector3.zero); _rotationOffsets.Add(new Vector3(-0.3004f, -0.9466f, 0.1174f)); _rotationOffsets.Add(new Vector3(-0.8816f, 0.3225f, 0.3447f)); //keypoints: HandCenter = new ManagedKeypoint(); WristCenter = new ManagedKeypoint(); //fingers: Thumb = new ManagedFinger(_managedHand.Hand, FingerType.Thumb, _thumbMCP, _thumbPIP, _thumbTip); Index = new ManagedFinger(_managedHand.Hand, FingerType.Index, _indexMCP, _indexPIP, _indexTip); Middle = new ManagedFinger(_managedHand.Hand, FingerType.Middle, _middleMCP, _middlePIP, _middleTip); Ring = new ManagedFinger(_managedHand.Hand, FingerType.Ring, _ringMCP, _ringTip); Pinky = new ManagedFinger(_managedHand.Hand, FingerType.Pinky, _pinkyMCP, _pinkyTip); Fingers = new ManagedFinger[5] { Thumb, Index, Middle, Ring, Pinky }; }