示例#1
0
        protected virtual void Awake()
        {
            Hand = _hand as IHand;

            _state          = new FingerFeatureStateDictionary();
            _handJointPoses = ReadOnlyHandJointPoses.Empty;
        }
示例#2
0
 protected virtual void OnDisable()
 {
     if (_started)
     {
         Hand.WhenHandUpdated -= HandDataAvailable;
         _handJointPoses       = ReadOnlyHandJointPoses.Empty;
     }
 }
示例#3
0
        public HandJointCache(IReadOnlyHandSkeleton handSkeleton)
        {
            LocalDataVersion   = -1;
            _posesFromWrist[0] = Pose.identity;

            _posesFromWristCollection = new ReadOnlyHandJointPoses(_posesFromWrist);
            _localPosesCollection     = new ReadOnlyHandJointPoses(_localPoses);

            _originalJoints = handSkeleton.Joints;
        }
示例#4
0
 public bool GetJointPosesFromWrist(out ReadOnlyHandJointPoses jointPosesFromWrist)
 {
     if (!IsTrackedDataValid || _jointPosesCache == null)
     {
         jointPosesFromWrist = ReadOnlyHandJointPoses.Empty;
         return(false);
     }
     CheckJointPosesCacheUpdate();
     return(_jointPosesCache.GetAllPosesFromWrist(out jointPosesFromWrist));
 }
示例#5
0
 public bool GetJointPosesLocal(out ReadOnlyHandJointPoses localJointPoses)
 {
     if (!IsTrackedDataValid || _jointPosesCache == null)
     {
         localJointPoses = ReadOnlyHandJointPoses.Empty;
         return(false);
     }
     CheckJointPosesCacheUpdate();
     return(_jointPosesCache.GetAllLocalPoses(out localJointPoses));
 }
示例#6
0
 public bool GetAllPosesFromWrist(out ReadOnlyHandJointPoses jointPosesFromWrist)
 {
     UpdateAllPosesFromWrist();
     jointPosesFromWrist = _posesFromWristCollection;
     return(_posesFromWristCollection.Count > 0);
 }
示例#7
0
 public bool GetAllLocalPoses(out ReadOnlyHandJointPoses localJointPoses)
 {
     localJointPoses = _localPosesCollection;
     return(_posesFromWristCollection.Count > 0);
 }