Пример #1
0
        public static IEnumerable <Pose> PassiveExternalRotation(int numberOfRepetitions = 4)
        {
            // Create the left pose and set both arms to point down
            CompositeBodyTransform leftTransform = new CompositeBodyTransform();

            leftTransform = leftTransform.Compose(JointType.ElbowLeft, new SetJointDirectionTransform(0, -1, 0));
            leftTransform = leftTransform.Compose(JointType.WristLeft, new SetJointDirectionTransform(-0.7, 0, 0.7));
            leftTransform = leftTransform.Compose(JointType.ElbowRight, new SetJointDirectionTransform(0, -1, 0));
            leftTransform = leftTransform.Compose(JointType.WristRight, new SetJointDirectionTransform(0, 0, 1));
            Pose leftPose = new Pose("DontTwistHipRestriction-l", leftTransform, BodyRestrictionBuilder.DontTwistHipRestriction(5));

            // Create the left pose and set both arms to point down
            CompositeBodyTransform rightTransform = new CompositeBodyTransform();

            rightTransform = rightTransform.Compose(JointType.ElbowLeft, new SetJointDirectionTransform(0, -1, 0));
            rightTransform = rightTransform.Compose(JointType.WristLeft, new SetJointDirectionTransform(0, 0, 1));
            rightTransform = rightTransform.Compose(JointType.ElbowRight, new SetJointDirectionTransform(0, -1, 0));
            rightTransform = rightTransform.Compose(JointType.WristRight, new SetJointDirectionTransform(0.7, 0, 0.7));
            Pose rightPose = new Pose("DontTwistHipRestriction-r", rightTransform, BodyRestrictionBuilder.DontTwistHipRestriction(5));

            for (int i = 0; i < numberOfRepetitions; ++i)
            {
                yield return(leftPose);

                yield return(rightPose);
            }
        }
Пример #2
0
        // Gestures as a List of Poses
        public static IEnumerable <Pose> CrossoverArmStretch(int numberOfRepetitions = 4)
        {
            var startTransform = BodyTransformBuilder.ArmsDownTransform();

            yield return(new Pose("ArmsDownTransform", startTransform, BodyRestrictionBuilder.ShouldersRelaxedRestriction()));

            var leftStretch  = BodyTransformBuilder.CrossoverArmStretchTransform(JointSide.Left);
            var rightStretch = BodyTransformBuilder.CrossoverArmStretchTransform(JointSide.Right);

            for (int i = 0; i < numberOfRepetitions; ++i)
            {
                yield return(new Pose("leftStretch", leftStretch));

                yield return(new Pose("rightStretch", rightStretch));
            }
        }