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