NetworkKinectCore.NetworkKinectCore.client_PositionChanged C# (CSharp) Method

client_PositionChanged() private method

private client_PositionChanged ( object sender, TrackerChangeEventArgs e ) : void
sender object
e TrackerChangeEventArgs
return void
        private void client_PositionChanged(object sender, TrackerChangeEventArgs e)
        {
            //If we try and pass a new skeleton for every tracker update we recieve, we'll spend way too much time and memory creating new skeleton objects
            //Therefore, this will only update the last skeleton object and the last skeleton data will be passed at regular time intervals
            Joint newJoint = new Joint();
            newJoint.utcTime = DateTime.UtcNow;  //We can't be sure if a specific VRPN server is using utc or local time, so we will grab our own time instead of using VRPNs
            JointMapping map = GetJointMapFromChannel(e.Sensor);
            newJoint.JointType = map.joint;
            newJoint.Position = new Point3D(e.Position.X, e.Position.Y, e.Position.Z);
            newJoint.Orientation = e.Orientation;
            newJoint.TrackingState = TrackingState.Tracked;

            lastSkeleton.skeleton[map.joint] = newJoint;
        }