private void BodyFrameArrived(object sender, BodyFrameArrivedEventArgs e) { if (!isRecording) { return; } bodyFrameTick += 1; if (bodyFrameTick % Resolution == 0) { using (var frame = e.FrameReference.AcquireFrame()) { if (frame != null) { var bodies = new Body[frame.BodyCount]; frame.GetAndRefreshBodyData(bodies); var pos = new HandPosition(); pos.frame_id = bodyFrameTick; foreach (var body in bodies) { pos.person_id = (int)body.TrackingId; var joints = body.Joints; var hand = joints[JointType.HandRight]; var mapper = sensor.CoordinateMapper; if (hand != null) { pos.right_hand = mapper.MapCameraPointToColorSpace(hand.Position); } hand = joints[JointType.HandLeft]; if (hand != null) { pos.left_hand = mapper.MapCameraPointToColorSpace(hand.Position); } handPoints.Add(pos); } } } } }
private void BodyFrameArrived(object sender, BodyFrameArrivedEventArgs e) { if (!isRecording) return; bodyFrameTick += 1; if (bodyFrameTick % Resolution == 0) { using (var frame = e.FrameReference.AcquireFrame()) { if (frame != null) { var bodies = new Body[frame.BodyCount]; frame.GetAndRefreshBodyData(bodies); var pos = new HandPosition(); pos.frame_id = bodyFrameTick; foreach(var body in bodies) { pos.person_id = (int)body.TrackingId; var joints = body.Joints; var hand = joints[JointType.HandRight]; var mapper = sensor.CoordinateMapper; if (hand != null) { pos.right_hand = mapper.MapCameraPointToColorSpace(hand.Position); } hand = joints[JointType.HandLeft]; if(hand!=null) { pos.left_hand = mapper.MapCameraPointToColorSpace(hand.Position); } handPoints.Add(pos); } } } } }