Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }