middleware/src/Debug/DebugParameters.xaml.cs
author bastiena
Thu, 29 Mar 2012 14:39:21 +0200
changeset 13 50de8e8f44d7
parent 11 a1bf0d21022e
permissions -rw-r--r--
Middleware : Began to create a curve segmenter based on cutting on local extremums. Remove joint arguments on hand quit events to notify Processing when skeleton is not detected anymore.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     1
/*
8
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     2
* This file is part of the TraKERS\Middleware package.
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     3
*
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     4
* (c) IRI <http://www.iri.centrepompidou.fr/>
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     5
*
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     6
* For the full copyright and license information, please view the LICENSE_MIDDLEWARE
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     7
* file that was distributed with this source code.
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     8
*/
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
     9
e4e7db2435f8 Processing:
bastiena
parents: 6
diff changeset
    10
/*
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    11
 * Projet : TraKERS
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    12
 * Module : MIDDLEWARE
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    13
 * Sous-Module : Debug
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    14
 * Classe : DebugParameters
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    15
 * 
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    16
 * Auteur : alexandre.bastien@iri.centrepompidou.fr
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    17
 * 
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    18
 * Fonctionnalités : Code source attaché à la fenêtre de paramétrage du Middleware.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    19
 * Celui-ci permet de charger/sauvegarder les paramètres stockés dans KinectMain.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    20
 */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    21
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    22
using System;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    23
using System.Collections.Generic;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    24
using System.Linq;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    25
using System.Text;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    26
using System.Windows;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    27
using System.Windows.Controls;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    28
using System.Windows.Data;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    29
using System.Windows.Documents;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    30
using System.Windows.Input;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    31
using System.Windows.Media;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    32
using System.Windows.Media.Imaging;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    33
using System.Windows.Shapes;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    34
using Trakers.Tracking;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    35
using System.Reflection;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    36
using System.Resources;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    37
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    38
namespace Trakers.Debug
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    39
{
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    40
    /// <summary>
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    41
    /// Interaction logic for DebugParameters.xaml
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    42
    /// </summary>
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    43
    public partial class DebugParameters : Window
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    44
    {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    45
        //Membre d'accès à KinectMain.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    46
        private KinectMain kinectMain;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    47
        private ResourceManager rm;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    48
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    49
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    50
         * Constructeur : On ouvre la fenêtre et on charge les paramètres.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    51
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    52
        public DebugParameters(KinectMain _kinectMain)
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    53
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    54
            rm = new ResourceManager("Trakers.Properties.resources", Assembly.GetExecutingAssembly());
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    55
            kinectMain = _kinectMain;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    56
            InitializeComponent();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    57
            getParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    58
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    59
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    60
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    61
         * Permet de charger les paramètres depuis KinectMain et les affiche dans la fenêtre de paramétrage.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    62
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    63
        public void getParameters()
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    64
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    65
            searchMinDistanceTB.Text = kinectMain.getMinDistHands().ToString();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    66
            searchMaxDistanceTB.Text = kinectMain.getMaxDistHands().ToString();
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    67
            minDistanceTB.Text = kinectMain.getMinDist().ToString();
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    68
            maxDistanceTB.Text = kinectMain.getMaxDist().ToString();
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    69
            zeroPointTB.Text = kinectMain.getZeroPoint().ToString();
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    70
            connexionHostTB.Text = kinectMain.getConnexionHost();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    71
            connexionPortTB.Text = kinectMain.getConnexionPort().ToString();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    72
            timerElapsingTB.Text = kinectMain.getTimerElapsing().ToString();
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    73
            imagesToShowTB.Text = kinectMain.getImagesToShow().ToString();
13
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
    74
            takenPointsTB.Text = kinectMain.getTakenPoints().ToString();
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
    75
            directionChangeTresholdXYTB.Text = kinectMain.getTakenPoints().ToString();
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
    76
            directionChangeTresholdZTB.Text = kinectMain.getTakenPoints().ToString();
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    77
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    78
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    79
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    80
         * Permet de sauvegarder les paramètres de la fenêtre de paramétrage vers KinectMain.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    81
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    82
        public void setParameters()
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    83
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    84
            try
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    85
            {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    86
                ExceptionInParametersLbl.Content = "";
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    87
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    88
                float minDistHands = float.Parse(searchMinDistanceTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    89
                float maxDistHands = float.Parse(searchMaxDistanceTB.Text);
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    90
                float minDist = float.Parse(minDistanceTB.Text);
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    91
                float maxDist = float.Parse(maxDistanceTB.Text);
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    92
                float zeroPoint = float.Parse(zeroPointTB.Text);
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    93
                int connexionPort = int.Parse(connexionPortTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    94
                int timerElapsing = int.Parse(timerElapsingTB.Text);
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
    95
                int imagesToShow = int.Parse(imagesToShowTB.Text);
13
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
    96
                int takenPoints = int.Parse(takenPointsTB.Text);
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
    97
                int directionChangeTresholdXY = int.Parse(directionChangeTresholdXYTB.Text);
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
    98
                float directionChangeTresholdZ = float.Parse(directionChangeTresholdZTB.Text);
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    99
6
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
   100
                if (maxDistHands <= 0f || minDistHands <= 0f || maxDistHands > maxDist || minDistHands > maxDist ||
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
   101
                minDistHands >= maxDistHands || zeroPoint < maxDistHands || minDistHands < minDist ||
13
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
   102
                zeroPoint >= maxDist || connexionPort < 0 || timerElapsing < 0 || imagesToShow < 1 ||
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
   103
                takenPoints <= 0 || directionChangeTresholdXY < 0 || directionChangeTresholdZ < 0)
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   104
                {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   105
                    ExceptionInParametersLbl.Content = rm.GetString("loadParametersIncorrect");
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   106
                }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   107
                else
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   108
                {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   109
                    kinectMain.setMinDistHands(minDistHands);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   110
                    kinectMain.setMaxDistHands(maxDistHands);
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
   111
                    kinectMain.setMinDist(minDist);
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
   112
                    kinectMain.setMaxDist(maxDist);
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
   113
                    kinectMain.setZeroPoint(zeroPoint);
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   114
                    kinectMain.setConnexionHost(connexionHostTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   115
                    kinectMain.setConnexionPort(connexionPort);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   116
                    kinectMain.setTimerElapsing(timerElapsing);
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
   117
                    kinectMain.setImagesToShow(imagesToShow);
13
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
   118
                    kinectMain.setTakenPoints(takenPoints);
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
   119
                    kinectMain.setDirectionChangeTresholdXY(directionChangeTresholdXY);
50de8e8f44d7 Middleware :
bastiena
parents: 11
diff changeset
   120
                    kinectMain.setDirectionChangeTresholdZ(directionChangeTresholdZ);
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   121
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   122
                    kinectMain.updateParameters();
11
a1bf0d21022e Middleware :
bastiena
parents: 8
diff changeset
   123
                    ExceptionInParametersLbl.Content = null;
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   124
                }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   125
            }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   126
            catch (Exception)
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   127
            {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   128
                //S'il y a eu un problème de parsing (i.e si l'utilisateur a entré une mauvaise valeur),
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   129
                //Alors on affiche l'erreur, puis on recharge les paramètres précédents.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   130
                ExceptionInParametersLbl.Content = rm.GetString("loadParametersFail");
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   131
                getParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   132
            }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   133
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   134
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   135
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   136
         * Méthode attachée à l'événement click sur le bouton de validation de la fenêtre de paramétrage.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   137
         * Les données sont sauvegardées vers KinectMain, puis rechargées dans la fenêtre.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   138
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   139
        private void Button_Click(object sender, RoutedEventArgs e)
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   140
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   141
            setParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   142
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   143
    }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   144
}