Kinect.KinectManager.GetLeftHandInteractionBox C# (CSharp) Method

GetLeftHandInteractionBox() public method

Gets the left hand interaction box for the specified user.
public GetLeftHandInteractionBox ( Int64 userId, Vector3 &leftBotBack, Vector3 &rightTopFront, bool bValidBox ) : bool
userId Int64 User ID
leftBotBack UnityEngine.Vector3 Vector containing the left, bottom and back coordinates, in meters
rightTopFront UnityEngine.Vector3 Vector containing the right, top and front coordinates, in meters
bValidBox bool If set to true, the previously set coordinates are valid
return bool
        public bool GetLeftHandInteractionBox(Int64 userId, ref Vector3 leftBotBack, ref Vector3 rightTopFront, bool bValidBox)
        {
            if (dictUserIdToIndex.ContainsKey(userId))
            {
                int index = dictUserIdToIndex[userId];

                if (index >= 0 && index < sensorData.bodyCount &&
                    bodyFrame.bodyData[index].bIsTracked != 0)
                {
                    KinectInterop.BodyData bodyData = bodyFrame.bodyData[index];
                    bool bResult = true;

                    if (bodyData.joint[(int)KinectInterop.JointType.ShoulderRight].trackingState != KinectInterop.TrackingState.NotTracked &&
                       bodyData.joint[(int)KinectInterop.JointType.HipLeft].trackingState != KinectInterop.TrackingState.NotTracked)
                    {
                        rightTopFront.x = bodyData.joint[(int)KinectInterop.JointType.ShoulderRight].position.x;
                        leftBotBack.x = rightTopFront.x - 2 * (rightTopFront.x - bodyData.joint[(int)KinectInterop.JointType.HipLeft].position.x);
                    }
                    else
                    {
                        bResult = bValidBox;
                    }

                    if (bodyData.joint[(int)KinectInterop.JointType.HipRight].trackingState != KinectInterop.TrackingState.NotTracked &&
                       bodyData.joint[(int)KinectInterop.JointType.ShoulderRight].trackingState != KinectInterop.TrackingState.NotTracked)
                    {
                        leftBotBack.y = bodyData.joint[(int)KinectInterop.JointType.HipRight].position.y;
                        rightTopFront.y = bodyData.joint[(int)KinectInterop.JointType.ShoulderRight].position.y;

                        float fDelta = (rightTopFront.y - leftBotBack.y) * 0.35f; // * 2 / 3;
                        leftBotBack.y += fDelta;
                        rightTopFront.y += fDelta;
                    }
                    else
                    {
                        bResult = bValidBox;
                    }

                    if (bodyData.joint[(int)KinectInterop.JointType.SpineBase].trackingState != KinectInterop.TrackingState.NotTracked)
                    {
                        leftBotBack.z = bodyData.joint[(int)KinectInterop.JointType.SpineBase].position.z;
                        rightTopFront.z = leftBotBack.z - 0.5f;
                    }
                    else
                    {
                        bResult = bValidBox;
                    }

                    return bResult;
                }
            }

            return false;
        }
KinectManager