//for openni, we use an alternative version because the openni one suckso public bool is_skeleton_tracked_alternative() { if (LastTrackedUser != null) { if (LastTrackedUser.SkeletonTracked == false || LastTrackedUser.PositionTracked == false) { return(false); } } else { return(false); } //TODO test if its in current "crumpled" pose, needed for OpenNI //instead we check neck and one arm) if (Joints.ContainsKey(ZgJointId.LeftShoulder) && Joints.ContainsKey(ZgJointId.LeftElbow) && Joints.ContainsKey(ZgJointId.Neck) && Joints.ContainsKey(ZgJointId.Head)) { if (get_relative_rotation(Joints[ZgJointId.LeftShoulder], Joints[ZgJointId.LeftElbow]).flat_rotation() == 0 && get_relative_rotation(Joints[ZgJointId.Neck], Joints[ZgJointId.Head]).flat_rotation() == 0) { return(false); } } return(true); }