public static XEFExpressionData FromReader(BinaryReader reader) { XEFExpressionData expressionData = new XEFExpressionData(); expressionData.Face_Neutral = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Face_Happy = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Activity_Talking = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Activity_EyeLeftClosed = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Activity_EyeRightClosed = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Activity_MouthOpen = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Activity_MouthMoved = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Activity_LookingAway = (XEFExpressionConfidenceLevel)reader.ReadInt32(); reader.ReadInt32(); // Extra unknown expressions reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); expressionData.Engagement_Engaged = (XEFExpressionConfidenceLevel)reader.ReadInt32(); expressionData.Appearance_WearingGlasses = (XEFExpressionConfidenceLevel)reader.ReadInt32(); reader.ReadInt32(); // Extra unknown appearances reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); expressionData.TrackingState = (XEFTrackingState)reader.ReadInt32(); return(expressionData); }
public static XEFBodyData FromReader(BinaryReader reader) { XEFBodyData bodyData = new XEFBodyData(); foreach (XEFJointType jointType in Enum.GetValues(typeof(XEFJointType))) { bodyData.SkeletonJointPositions[jointType] = XEFVector.FromReader(reader); } foreach (XEFJointType jointType in Enum.GetValues(typeof(XEFJointType))) { bodyData.SkeletonJointOrientations[jointType] = XEFVector.FromReader(reader); } foreach (XEFJointType jointType in Enum.GetValues(typeof(XEFJointType))) { bodyData.SkeletonJointPositionTrackingStates[jointType] = (XEFTrackingState)reader.ReadInt32(); } bodyData.ExpressionData = XEFExpressionData.FromReader(reader); bodyData.HandDataLeft = XEFHandData.FromReader(reader); bodyData.HandDataRight = XEFHandData.FromReader(reader); reader.ReadInt32(); // padding bodyData.TrackingID = reader.ReadUInt64(); bodyData.TrackingState = (XEFBodyTrackingState)reader.ReadInt32(); bodyData.LeanData = XEFLeanData.FromReader(reader); bodyData.QualityFlags = reader.ReadUInt32(); return(bodyData); }