public LMFrame(Frame aFrame, string humanSign) { //frame = aFrame; Id = aFrame.Id; TimeStamp = aFrame.Timestamp; HumanSign = humanSign; try { LeftCamImg = Helper.ImageHelper.generateBitmapFromLeapImage(aFrame.Images[0]); RightCamImg = Helper.ImageHelper.generateBitmapFromLeapImage(aFrame.Images[1]); } catch (Exception e) { FileHelper.saveDebugString("Image creatation" + e.Data.ToString()); } if (LeftCamImg == null) { FileHelper.saveDebugString("LMFRame creation : " + aFrame.Images[0].ToString()); } Hands = new List <LMHand>(); foreach (Hand aHand in aFrame.Hands) { List <LMFinger> fingers = new List <LMFinger>(); foreach (Finger afinger in aHand.Fingers) { List <LMBone> bones = new List <LMBone>(); foreach (Bone.BoneType boneType in (Bone.BoneType[])Enum.GetValues(typeof(Bone.BoneType))) { Bone bone = afinger.Bone(boneType); LMBone lmBone = new LMBone(boneType.ToString(), bone.PrevJoint, bone.NextJoint, bone.Direction); bones.Add(lmBone); } LMFinger lmFinger = new LMFinger(afinger.Id, afinger.Type.ToString(), afinger.Width, afinger.Length, bones); fingers.Add(lmFinger); } LMHand lmHand = new LMHand(aHand.IsLeft, aHand.Id, aHand.GetType().ToString(), aHand.PalmPosition, aHand.PalmNormal, aHand.Direction, aHand.Arm.Direction, aHand.Arm.WristPosition, aHand.Arm.ElbowPosition, fingers); Hands.Add(lmHand); } }
public LMHand(JObject obj) { IsLeft = (bool)obj.GetValue("isLeft"); HandId = (int)obj.GetValue("handId"); HandType = (string)obj.GetValue("handType"); PalmPosition = JSONHelper.vectorFromJArray((JArray)obj["palmPosition"]); PalmNormal = JSONHelper.vectorFromJArray((JArray)obj["palmNormal"]); Direction = JSONHelper.vectorFromJArray((JArray)obj["direction"]); ArmDirection = JSONHelper.vectorFromJArray((JArray)obj["armDirection"]); ArmWristPosition = JSONHelper.vectorFromJArray((JArray)obj["armWristPosition"]); ArmElbowPosition = JSONHelper.vectorFromJArray((JArray)obj["armElbowPosition"]); Fingers = new List <LMFinger>(); foreach (JObject fingerObj in (JArray)obj["fingers"]) { LMFinger finger = new LMFinger(fingerObj); Fingers.Add(finger); } }