public SerialSkeletonData(NuiSkeletonData nui) { this.eTrackingState = nui.eTrackingState; this.dwTrackingID = nui.dwTrackingID; this.dwEnrollmentIndex_NotUsed = nui.dwEnrollmentIndex_NotUsed; this.dwUserIndex = nui.dwUserIndex; this.Position = new SerialVec4(nui.Position); this.SkeletonPositions = new SerialVec4[20]; for (int ii = 0; ii < 20; ii++) { this.SkeletonPositions[ii] = new SerialVec4(nui.SkeletonPositions[ii]); } this.eSkeletonPositionTrackingState = nui.eSkeletonPositionTrackingState; this.dwQualityFlags = nui.dwQualityFlags; }
public NuiSkeletonData deserialize() { NuiSkeletonData nui = new NuiSkeletonData(); nui.eTrackingState = this.eTrackingState; nui.dwTrackingID = this.dwTrackingID; nui.dwEnrollmentIndex_NotUsed = this.dwEnrollmentIndex_NotUsed; nui.dwUserIndex = this.dwUserIndex; nui.Position = this.Position.deserialize(); nui.SkeletonPositions = new Vector4[20]; for (int ii = 0; ii < 20; ii++) { nui.SkeletonPositions[ii] = this.SkeletonPositions[ii].deserialize(); } nui.eSkeletonPositionTrackingState = this.eSkeletonPositionTrackingState; nui.dwQualityFlags = this.dwQualityFlags; return(nui); }
public SerialSkeletonData(NuiSkeletonData nui) { this.eTrackingState = nui.eTrackingState; this.dwTrackingID = nui.dwTrackingID; this.dwEnrollmentIndex_NotUsed = nui.dwEnrollmentIndex_NotUsed; this.dwUserIndex = nui.dwUserIndex; this.Position = new SerialVec4(nui.Position); this.SkeletonPositions = new SerialVec4[20]; for(int ii = 0; ii < 20; ii++){ this.SkeletonPositions[ii] = new SerialVec4(nui.SkeletonPositions[ii]); } this.eSkeletonPositionTrackingState = nui.eSkeletonPositionTrackingState; this.dwQualityFlags = nui.dwQualityFlags; }
public NuiSkeletonData deserialize() { NuiSkeletonData nui = new NuiSkeletonData(); nui.eTrackingState = this.eTrackingState; nui.dwTrackingID = this.dwTrackingID; nui.dwEnrollmentIndex_NotUsed = this.dwEnrollmentIndex_NotUsed; nui.dwUserIndex = this.dwUserIndex; nui.Position = this.Position.deserialize(); nui.SkeletonPositions = new Vector4[20]; for(int ii = 0; ii < 20; ii++){ nui.SkeletonPositions[ii] = this.SkeletonPositions[ii].deserialize(); } nui.eSkeletonPositionTrackingState = this.eSkeletonPositionTrackingState; nui.dwQualityFlags = this.dwQualityFlags; return nui; }
public static extern UInt32 NuiSkeletonCalculateBoneOrientations([In] ref NuiSkeletonData pSkeletonData, [Out] NuiSkeletonBoneOrientation[] pBoneOrientations);
/* NuiSkeletonBoneOrientation[] KinectInterface.getBoneOrientations(NuiSkeletonFrame skeleton){ return null; } */ NuiSkeletonBoneOrientation[] KinectInterface.getBoneOrientations(NuiSkeletonData skeletonData) { NuiSkeletonBoneOrientation[] boneOrientations = new NuiSkeletonBoneOrientation[(int)(NuiSkeletonPositionIndex.Count)]; NativeMethods.NuiSkeletonCalculateBoneOrientations(ref skeletonData, boneOrientations); return boneOrientations; }
/// <summary> /// Get all bones orientation based on the skeleton passed in /// </summary> /// <returns> /// Bone Orientation in struct of NuiSkeletonBoneOrientation, quarternion and matrix /// </returns> NuiSkeletonBoneOrientation[] KinectInterface.getBoneOrientations(Kinect.NuiSkeletonData skeletonData) { NuiSkeletonBoneOrientation[] boneOrientations = new NuiSkeletonBoneOrientation[(int)(NuiSkeletonPositionIndex.Count)]; NativeMethods.NuiSkeletonCalculateBoneOrientations(ref skeletonData, boneOrientations); return(boneOrientations); }
void Update() { this.pollskeleton = false; uint numberOfReadBytes = skeletonReader.readData(readBytes, (uint)sizeOfBytesToRead, DataRequest.Type.NEWEST_AVAILABLE); if(numberOfReadBytes != 0 ) { newSkeleton = false; updatedSkeleton = false; this.pollskeleton = true; pollskeleton = true; skeletons = new Skeletons(readBytes); skeleton.dwFrameNumber = (uint)skeletons.frameNumber; skeleton.liTimeStamp = skeletons.timeStamp; skeleton.vFloorClipPlane = new Vector4(skeletons.floorClipPlaneX,skeletons.floorClipPlaneY,skeletons.floorClipPlaneZ,skeletons.floorClipPlaneW); skeleton.vNormalToGravity = new Vector4(0,0,0,0); skeleton.dwFlags = 0; int index = 0; skeleton.SkeletonData = new NuiSkeletonData[6]; NuiSkeletonData sd = new NuiSkeletonData(); for(int i1 = 0;i1< 6;i1++) { sd.SkeletonPositions = new Vector4[20]; sd.eSkeletonPositionTrackingState = new NuiSkeletonPositionTrackingState[20]; sd.dwTrackingID = (uint)BitConverter.ToInt32(skeletons.skeletonsBytes,index); index += sizeof(Int32); byte trackingMode = skeletons.skeletonsBytes[index++]; if(trackingMode == 0) { sd.eTrackingState = Kinect.NuiSkeletonTrackingState.PositionOnly; } else if(trackingMode == 1) { sd.eTrackingState = Kinect.NuiSkeletonTrackingState.SkeletonTracked; } else if(trackingMode == 2) { sd.eTrackingState = Kinect.NuiSkeletonTrackingState.NotTracked; } sd.Position.x = BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); sd.Position.y = BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); sd.Position.z = BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); sd.Position.w = 0; if(i1 <2) { for(int j = 0;j< 20;j++) { byte jointTrackingMode = skeletons.skeletonsBytes[index++]; if(jointTrackingMode == 0){ sd.eSkeletonPositionTrackingState[j] = Kinect.NuiSkeletonPositionTrackingState.NotTracked; } else{ if(jointTrackingMode == 1){ sd.eSkeletonPositionTrackingState[j] = Kinect.NuiSkeletonPositionTrackingState.Inferred; } else{ if(jointTrackingMode == 2){ sd.eSkeletonPositionTrackingState[j] = Kinect.NuiSkeletonPositionTrackingState.Tracked; } } } sd.SkeletonPositions[j].w = BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); sd.SkeletonPositions[j].x = BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); sd.SkeletonPositions[j].z = -BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); sd.SkeletonPositions[j].y = BitConverter.ToSingle(skeletons.skeletonsBytes,index); index+=sizeof(float); index=index +4*sizeof(float); } } else { for(int j = 0;j< 20;j++) { sd.eSkeletonPositionTrackingState[j] = Kinect.NuiSkeletonPositionTrackingState.NotTracked; sd.SkeletonPositions[j].w = 0; sd.SkeletonPositions[j].x = 0; sd.SkeletonPositions[j].y = 0; sd.SkeletonPositions[j].z = 0; } } sd.dwUserIndex = (uint)i1; sd.dwQualityFlags = 0; skeleton.SkeletonData[i1] = sd; } } }
/* NuiSkeletonBoneOrientation[] KinectInterface.getBoneOrientations(NuiSkeletonFrame skeleton){ return null; } */ NuiSkeletonBoneOrientation[] KinectInterface.getBoneOrientations(NuiSkeletonData skeletonData) { return null; }