Пример #1
0
        public Exercise(SharedContent.Commands name, string description, Pose[] exercisePoses, ExerciseStep[] exerciseSteps)
        {
            this.currentStepIndex = 0;
            this.name = name;
            this.description = description;
            this.exercisePoses = exercisePoses;
            this.exerciseSteps = exerciseSteps;

            this.exerciseStatus = ExerciseStatus.NotStarted;
            this.statusMessage = "Waiting for user to assume the starting pose of the first exercise step";
        }
Пример #2
0
        private static Exercise CreateRightBicepCurlExercise()
        {
            Pose armAtSide = new Pose(new Dictionary<SharedContent.BodyPartID, BodyPartOrientation>()
            {
                {SharedContent.BodyPartID.RightArm, new LimbOrientation(SharedContent.BodyPartID.RightArm, new Vector3D(0,-1,0), new Vector3D(0,-1,0))}
            });
            Pose armCurledUp = new Pose(new Dictionary<SharedContent.BodyPartID, BodyPartOrientation>()
            {
                {SharedContent.BodyPartID.RightArm, new LimbOrientation(SharedContent.BodyPartID.RightArm, new Vector3D(0,-1,0), new Vector3D(0,0,-1))}
            });

            ExerciseStep curlArm = new ExerciseStep(armAtSide, armCurledUp, TimeSpan.FromSeconds(2), ExerciseStepType.Movement, "Curling arm");
            ExerciseStep uncurlArm = new ExerciseStep(armCurledUp, armAtSide, TimeSpan.FromSeconds(2), ExerciseStepType.Movement, "Uncurling arm");

            return new Exercise(SharedContent.Commands.RightBicepCurl,
                "From a neutral pose with your right arm at your side, bend your right forearm up directly in front of you until it is parallel with the floor, then lower your forearm back into neutral position",
                new Pose[] { armAtSide, armCurledUp }, new ExerciseStep[] { curlArm, uncurlArm });
        }
Пример #3
0
        /// <summary>
        /// Right Shoulder abduction - from shoulder at neutral position (at side), lift outwards (in plane of body) to approximately 90 degrees
        /// </summary>
        /// <returns></returns>
        private static Exercise CreateRightShoulderAbductionExercise()
        {
            Pose armAtSide = new Pose(new Dictionary<SharedContent.BodyPartID, BodyPartOrientation>()
            {
                {SharedContent.BodyPartID.RightArm, new LimbOrientation(SharedContent.BodyPartID.RightArm, new Vector3D(0,-1,0), new Vector3D(0,-1,0))}
            });
            Pose armOutstretched = new Pose(new Dictionary<SharedContent.BodyPartID, BodyPartOrientation>()
            {
                {SharedContent.BodyPartID.RightArm, new LimbOrientation(SharedContent.BodyPartID.RightArm, new Vector3D(1,0,0), new Vector3D(1,0,0))}
            });

            ExerciseStep raiseArm = new ExerciseStep(armAtSide, armOutstretched, TimeSpan.FromSeconds(3), ExerciseStepType.Movement, "Raising arm");
            ExerciseStep holdArmOutstretched = new ExerciseStep(armOutstretched, armOutstretched, TimeSpan.FromSeconds(2), ExerciseStepType.Hold, "Holding position");
            ExerciseStep lowerArm = new ExerciseStep(armOutstretched, armAtSide, TimeSpan.FromSeconds(3), ExerciseStepType.Movement, "Lowering arm");

            return new Exercise(SharedContent.Commands.RightShoulderAbduction,
                "From a neutral position with your right arm at your side, raise your right arm to shoulder height directly out from your body, then lower your arm back into neutral position",
                new Pose[] { armAtSide, armOutstretched }, new ExerciseStep[] { raiseArm, holdArmOutstretched, lowerArm });
        }