public void Communicate(FormatedCoordinatesModel formatedCoordinates, Boolean trainingFile)
        {
            if (trainingFile)
            {
                bool saveSuccess = communication.SaveMovement(formatedCoordinates);

                if (saveSuccess)
                {
                    MessageBox.Show(SUCCESS_SAVED, "Sucesso!",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    MessageBox.Show(FAILED_SAVED, "Ops!",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                bool verifySuccess = communication.VerifyMovement(formatedCoordinates);

                if (verifySuccess)
                {
                    MessageBox.Show(SUCCESS_MOVEMENT, "Sucesso!",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    MessageBox.Show(FAILED_MOVEMENT, "Ops!",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
示例#2
0
        public void FinishCapture()
        {
            // bgdProgressStatus.ReportProgress(0);

            lblSensorReady.BeginInvoke(
                new Action(() => { lblSensorReady.Text = ""; })
                );

            btnStopCapture.BeginInvoke(
                new Action(() => { btnStopCapture.Enabled = false; })
                );;


            if (!shouldCancel)
            {
                formatedCoordinates = captureService.formatedCoordinates;

                bool success = communicationService.CommunicateExam(formatedCoordinates);

                ExamResult result = new ExamResult(currentMovement.Name, success);

                examResults.Add(result);
                UpdateGrid();
                movementCount++;

                HasNextMovement();
            }
        }
        public Boolean SaveMovement(FormatedCoordinatesModel formatedCoordinates)
        {
            String endPoint = "save-movement";

            var request = (HttpWebRequest)WebRequest.Create(Utils.Constant.URL + endPoint);

            request.ContentType = "application/json";
            request.Method      = "POST";

            bool result = false;

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                var json = new JavaScriptSerializer().Serialize(formatedCoordinates);
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }

            var response = (HttpWebResponse)request.GetResponse();

            using (var streamReader = new StreamReader(response.GetResponseStream()))
            {
                HttpStatusCode statusCode = ((HttpWebResponse)response).StatusCode;
                if (statusCode.ToString() == "OK")
                {
                    result = true;
                }
            }


            return(result);
        }
        public Boolean VerifyMovement(FormatedCoordinatesModel formatedCoordinates)
        {
            String endPoint = "verify-movement";

            var request = (HttpWebRequest)WebRequest.Create(Utils.Constant.URL + endPoint);

            request.ContentType = "application/json";
            request.Method      = "POST";

            bool result = false;

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                var json = new JavaScriptSerializer().Serialize(formatedCoordinates);
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }

            var response = (HttpWebResponse)request.GetResponse();

            using (var streamReader = new StreamReader(response.GetResponseStream()))
            {
                result = Boolean.Parse(streamReader.ReadToEnd());
            }

            return(result);
        }
示例#5
0
        public void FinishCapture()
        {
            movementText = "";
            movementKey  = "";

            btnStopCapture.BeginInvoke(
                new Action(() => { btnStopCapture.Enabled = false; })
                );

            btnStartCapture.BeginInvoke(
                new Action(() => { btnStartCapture.Enabled = false; })
                );


            lblSensorReady.BeginInvoke(
                new Action(() => { lblSensorReady.Text = ""; })
                );

            lblMovement.BeginInvoke(
                new Action(() => { lblMovement.Text = ""; })
                );

            if (!shouldCancel)
            {
                formatedCoordinates = captureService.formatedCoordinates;
                communicationService.Communicate(formatedCoordinates, trainingFile);
            }

            if (trainingFile)
            {
                movementData.SetNull();
                movementData = Movements.Instance;
            }

            cbxSelectMovement.BeginInvoke(
                new Action(() => {
                cbxSelectMovement.SelectedIndex = -1;
                cbxSelectMovement.Enabled       = true;
            })
                );

            btnTrainingMove.BeginInvoke(
                new Action(() => { btnTrainingMove.Enabled = true; })
                );

            // bgdProgressStatus.ReportProgress(0);
        }
        private void KeepCapturing()
        {
            while (temporal.IsAlive)
            {
                ;
            }

            if (kinectSensor != null)
            {
                PlaySound();
                bodyDeceted = false;
                kinectSensor.Stop();
                formatService = new FormatCoordinatesService();
                StopSaveCoordinates();

                if (!shouldCancel)
                {
                    formatedCoordinates = formatService.Format(jointsInMoment, movement);
                    form.FinishCapture();
                }
            }
        }
        public FormatedCoordinatesModel Format(Dictionary <string, List <KinectJoint> > jointsInMoment, String movement)
        {
            FormatedCoordinatesModel formated  = new FormatedCoordinatesModel();
            List <String>            movements = new List <string>();

            try
            {
                int first = int.Parse(jointsInMoment.First().Key);
                int last  = int.Parse(jointsInMoment.Last().Key);

                formated.Coordinates = movements;
                formated.Movement    = movement;

                for (int i = first; i < last; i++)
                {
                    List <KinectJoint> kinectJoints = jointsInMoment[i.ToString()];
                    foreach (KinectJoint kinectJoint in kinectJoints)
                    {
                        formated.Coordinates.Add(kinectJoint.X.ToString());
                        formated.Coordinates.Add(kinectJoint.Y.ToString());
                        formated.Coordinates.Add(kinectJoint.Z.ToString());
                    }
                    if (formated.Coordinates.Count == 1260)
                    {
                        break;
                    }
                }

                return(formated);
            }
            catch (Exception e)
            {
                MessageBox.Show(FAILED_MOVEMENT, "Ops!",
                                System.Windows.Forms.MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return(null);
        }
 public bool CommunicateExam(FormatedCoordinatesModel formatedCoordinates)
 {
     return(communication.VerifyMovement(formatedCoordinates));
 }