//	private static void ExtractColorImage(NuiLockedRect buf, ref Color32[] colorImage)
//	{
//		ColorBuffer cb = (ColorBuffer)Marshal.PtrToStructure(buf.pBits, typeof(ColorBuffer));
//		int totalPixels = Constants.ImageWidth * Constants.ImageHeight;
//		
//		for (int pix = 0; pix < totalPixels; pix++)
//		{
//			int ind = totalPixels - pix - 1;
//			
//			colorImage[ind].r = cb.pixels[pix].r;
//			colorImage[ind].g = cb.pixels[pix].g;
//			colorImage[ind].b = cb.pixels[pix].b;
//			colorImage[ind].a = 255;
//		}
//	}
//	
//	private static short[] ExtractDepthImage(NuiLockedRect lockedRect)
//	{
//		DepthBuffer db = (DepthBuffer)Marshal.PtrToStructure(lockedRect.pBits, typeof(DepthBuffer));
//		return db.pixels;
//	}
	
    private static Vector3 GetPositionBetweenIndices(ref Vector3[] jointsPos, NuiSkeletonPositionIndex p1, NuiSkeletonPositionIndex p2) 
	{
		Vector3 pVec1 = jointsPos[(int)p1];
		Vector3 pVec2 = jointsPos[(int)p2];
		
        return pVec2 - pVec1;
    }