private void SetHandOpenness(Hand hand, PXCMHandData.IHand handInfo) { int openness = handInfo.QueryOpenness(); SetOpenness(hand, openness); }
public override bool Process(Trigger trigger) { trigger.ErrorDetected = false; if (!SenseToolkitManager.Instance.IsSenseOptionSet(SenseOption.SenseOptionID.Hand)) { trigger.ErrorDetected = true; Debug.LogError("Hand Analysis Module Not Set"); return(false); } if (!(trigger is EventTrigger)) { trigger.ErrorDetected = true; return(false); } bool success = false; //AcquireFrame if (SenseToolkitManager.Instance.Initialized && SenseToolkitManager.Instance.HandDataOutput != null) { PXCMHandData.IHand data = null; if (SenseToolkitManager.Instance.HandDataOutput.QueryNumberOfHands() > 0 && ( (ContinuousTracking && SenseToolkitManager.Instance.HandDataOutput.QueryHandDataById(_uniqueID, out data) >= pxcmStatus.PXCM_STATUS_NO_ERROR) || SenseToolkitManager.Instance.HandDataOutput.QueryHandData(WhichHand, HandIndex, out data) >= pxcmStatus.PXCM_STATUS_NO_ERROR) ) { _uniqueID = data.QueryUniqueId(); PXCMHandData.JointData jointD; data.QueryTrackedJoint(PXCMHandData.JointType.JOINT_PINKY_JT2, out jointD); if (jointD.confidence < 100) { return(false); } if (data.QueryOpenness() <= OpennessFactor) { _lastFrameDetected = true; } else { if (_lastFrameDetected) { success = true; } _lastFrameDetected = false; } } else { if (_lastFrameDetected) { success = true; } _lastFrameDetected = false; } } return(success); }