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);
                 }
             }
         }
     }
 }