middleware/src/Debug/DebugParameters.xaml.cs
author bastiena
Tue, 20 Mar 2012 18:00:55 +0100
changeset 7 8a21bec5d45f
parent 6 93dfb08dcc97
child 8 e4e7db2435f8
permissions -rw-r--r--
Middleware : No proximity bugs anymore. The skeleton disappear if a tracked person is too close or not tracked anymore. Processing : There are no laggs anymore when an user stay too long moving his hands and drawing tons of ellipses. (TUIO Cursors are not taken by their vectors, only the last position of the cursors are caught to be drawn).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     1
/*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     2
 * Projet : TraKERS
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     3
 * Module : MIDDLEWARE
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     4
 * Sous-Module : Debug
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     5
 * Classe : DebugParameters
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     6
 * 
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     7
 * Auteur : alexandre.bastien@iri.centrepompidou.fr
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     8
 * 
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     9
 * Fonctionnalités : Code source attaché à la fenêtre de paramétrage du Middleware.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    10
 * Celui-ci permet de charger/sauvegarder les paramètres stockés dans KinectMain.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    11
 */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    12
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    13
using System;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    14
using System.Collections.Generic;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    15
using System.Linq;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    16
using System.Text;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    17
using System.Windows;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    18
using System.Windows.Controls;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    19
using System.Windows.Data;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    20
using System.Windows.Documents;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    21
using System.Windows.Input;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    22
using System.Windows.Media;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    23
using System.Windows.Media.Imaging;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    24
using System.Windows.Shapes;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    25
using Trakers.Tracking;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    26
using System.Reflection;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    27
using System.Resources;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    28
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    29
namespace Trakers.Debug
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    30
{
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    31
    /// <summary>
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    32
    /// Interaction logic for DebugParameters.xaml
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    33
    /// </summary>
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    34
    public partial class DebugParameters : Window
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    35
    {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    36
        //Membre d'accès à KinectMain.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    37
        private KinectMain kinectMain;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    38
        private ResourceManager rm;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    39
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    40
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    41
         * Constructeur : On ouvre la fenêtre et on charge les paramètres.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    42
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    43
        public DebugParameters(KinectMain _kinectMain)
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    44
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    45
            rm = new ResourceManager("Trakers.Properties.resources", Assembly.GetExecutingAssembly());
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    46
            kinectMain = _kinectMain;
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    47
            InitializeComponent();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    48
            getParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    49
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    50
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    51
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    52
         * 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
    53
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    54
        public void getParameters()
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    55
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    56
            searchMinDistanceTB.Text = kinectMain.getMinDistHands().ToString();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    57
            searchMaxDistanceTB.Text = kinectMain.getMaxDistHands().ToString();
6
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    58
            minDistanceTB.Text = kinectMain.getMinDistHands().ToString();
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    59
            maxDistanceTB.Text = kinectMain.getMaxDistHands().ToString();
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    60
            zeroPointTB.Text = kinectMain.getMinDistHands().ToString();
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    61
            connexionHostTB.Text = kinectMain.getConnexionHost();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    62
            connexionPortTB.Text = kinectMain.getConnexionPort().ToString();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    63
            timerElapsingTB.Text = kinectMain.getTimerElapsing().ToString();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    64
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    65
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    66
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    67
         * Permet de sauvegarder les paramètres de la fenêtre de paramétrage vers KinectMain.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    68
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    69
        public void setParameters()
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    70
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    71
            try
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    72
            {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    73
                ExceptionInParametersLbl.Content = "";
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    74
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    75
                float minDistHands = float.Parse(searchMinDistanceTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    76
                float maxDistHands = float.Parse(searchMaxDistanceTB.Text);
6
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    77
                float minDist = float.Parse(searchMinDistanceTB.Text);
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    78
                float maxDist = float.Parse(searchMaxDistanceTB.Text);
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    79
                float zeroPoint = float.Parse(searchMinDistanceTB.Text);
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    80
                int connexionPort = int.Parse(connexionPortTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    81
                int timerElapsing = int.Parse(timerElapsingTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    82
6
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    83
                if (maxDistHands <= 0f || minDistHands <= 0f || maxDistHands > maxDist || minDistHands > maxDist ||
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    84
                minDistHands >= maxDistHands || zeroPoint < maxDistHands || minDistHands < minDist ||
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    85
                zeroPoint >= maxDist || connexionPort < 0 || timerElapsing < 0)
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    86
                {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    87
                    ExceptionInParametersLbl.Content = rm.GetString("loadParametersIncorrect");
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    88
                }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    89
                else
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    90
                {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    91
                    kinectMain.setMinDistHands(minDistHands);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    92
                    kinectMain.setMaxDistHands(maxDistHands);
6
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    93
                    kinectMain.setMinDistHands(minDist);
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    94
                    kinectMain.setMaxDistHands(maxDist);
93dfb08dcc97 Middleware :
bastiena
parents: 5
diff changeset
    95
                    kinectMain.setMinDistHands(zeroPoint);
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    96
                    kinectMain.setConnexionHost(connexionHostTB.Text);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    97
                    kinectMain.setConnexionPort(connexionPort);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    98
                    kinectMain.setTimerElapsing(timerElapsing);
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    99
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   100
                    kinectMain.updateParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   101
                }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   102
            }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   103
            catch (Exception)
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   104
            {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   105
                //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
   106
                //Alors on affiche l'erreur, puis on recharge les paramètres précédents.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   107
                ExceptionInParametersLbl.Content = rm.GetString("loadParametersFail");
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   108
                getParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   109
            }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   110
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   111
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   112
        /*
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   113
         * 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
   114
         * Les données sont sauvegardées vers KinectMain, puis rechargées dans la fenêtre.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   115
         */
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   116
        private void Button_Click(object sender, RoutedEventArgs e)
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   117
        {
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   118
            setParameters();
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   119
        }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   120
    }
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
   121
}