/* Displaying current frames hand joints */ private void DisplayCursorJoints(long timeStamp = 0) { mCursorClick[0] = Math.Max(0, mCursorClick[0] - 1); mCursorClick[1] = Math.Max(0, mCursorClick[1] - 1); int numOfHands = cursorData.QueryNumberOfCursors(); if (numOfHands == 1) { mCursorPoints[1].Clear(); } for (int i = 0; i < numOfHands; i++) { //Get hand by time of appearance ICursor cursor; if (cursorData.QueryCursorData(AccessOrderType.ACCESS_ORDER_BY_TIME, i, out cursor) == Status.STATUS_NO_ERROR) { if (cursor != null) { // collect cursor points Point3DF32 imagePoint = cursor.CursorPointImage; mCursorPoints[i].Enqueue(imagePoint); if (mCursorPoints[i].Count > 50) { mCursorPoints[i].Dequeue(); } mCursorHandSide[i] = cursor.BodySide; GestureData gestureData; if (cursorData.IsGestureFiredByHand(GestureType.CURSOR_CLICK, cursor.UniqueId, out gestureData)) { mCursorClick[i] = 7; } } } } // end iterating over hands if (numOfHands > 0) { form.DisplayCursor(numOfHands, mCursorPoints, mCursorClick, mCursorHandSide); } else { mCursorPoints[0].Clear(); mCursorPoints[1].Clear(); mCursorHandSide[0] = BodySideType.BODY_SIDE_UNKNOWN; mCursorHandSide[1] = BodySideType.BODY_SIDE_UNKNOWN; } }
private Point3DF32[] GetMappedPixels(int cwidth, int cheight, int dwidth, int dheight, PointF32[] invuvmap, float[] depthPixels) { var mappedPixels = new Point3DF32[cwidth * cheight]; for (int i = 0; i < invuvmap.Length; i++) { int u = (int)(invuvmap[i].x * dwidth); int v = (int)(invuvmap[i].y * dheight); if (u >= 0 && v >= 0 && u + v * dwidth < depthPixels.Length) { mappedPixels[i] = new Point3DF32(u, v, depthPixels[u + v * dwidth]); } } return(mappedPixels); }
private string PopulateFingerPositionDataToString(Point3DF32 finger) { string result = finger.x.ToString() + ", " + finger.y.ToString() + ", " + finger.z.ToString(); return(result); }
private Point3DF32 GetDeltaPoint(Point3DF32 point1, Point3DF32 point2) { return(new Point3DF32(point1.x - point2.x, point1.y - point2.y, point1.z - point2.z)); }
private string PopulateFingerPositionDataToString(Point3DF32 finger) { string result = Math.Round(finger.x, 3).ToString(ci) + "," + Math.Round(finger.y, 3).ToString(ci) + "," + Math.Round(finger.z, 3).ToString(ci); return(result); }