middleware/Debug/DebugParameters.xaml.cs
author bastiena
Mon, 02 Apr 2012 16:30:56 +0200
changeset 15 4b78f179e7ce
child 16 a9ebacd6c089
permissions -rw-r--r--
Middleware : segmentation of Middleware between 4 modules : Communication Debug Tracking MainModule I chose to integer the events in the mainModule, so I can use them to send data to Debug and Communication. Soon DLLs will be copied to a main root folder "lib".
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
*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
     6
* For the full copyright and license information, please view the LICENSE_MIDDLEWARE
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;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    26
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    27
namespace Trakers.Debug
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    28
{
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    29
    /// <summary>
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    30
    /// Interaction logic for DebugParameters.xaml
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    31
    /// </summary>
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    32
    public partial class DebugParameters : Window
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    33
    {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    34
        private ResourceManager rm;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    35
        private DebugWindow debug;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    36
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    37
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    38
         * Constructeur : On ouvre la fenêtre et on charge les paramètres.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    39
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    40
        public DebugParameters(DebugWindow _debug)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    41
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    42
            rm = new ResourceManager("Trakers.Debug.Properties.Resources", Assembly.GetExecutingAssembly());
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    43
            debug = _debug;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    44
            InitializeComponent();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    45
            getParameters();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    46
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    47
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    48
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    49
         * Permet de charger les paramètres depuis KinectMain et les affiche dans la fenêtre de paramétrage.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    50
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    51
        public void getParameters()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    52
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    53
            searchMinDistanceTB.Text = debug.getMinDistHands().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    54
            searchMaxDistanceTB.Text = debug.getMaxDistHands().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    55
            minDistanceTB.Text = debug.getMinDist().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    56
            maxDistanceTB.Text = debug.getMaxDist().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    57
            zeroPointTB.Text = debug.getZeroPoint().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    58
            connexionHostTB.Text = debug.getConnexionHost();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    59
            connexionPortTB.Text = debug.getConnexionPort().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    60
            timerElapsingTB.Text = debug.getTimerElapsing().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    61
            imagesToShowTB.Text = debug.getImagesToShow().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    62
            takenPointsTB.Text = debug.getTakenPoints().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    63
            directionChangeTresholdXYTB.Text = debug.getTakenPoints().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    64
            directionChangeTresholdZTB.Text = debug.getTakenPoints().ToString();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    65
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    66
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    67
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    68
         * Permet de sauvegarder les paramètres de la fenêtre de paramétrage vers KinectMain.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    69
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    70
        public void setParameters()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    71
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    72
            try
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    73
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    74
                ExceptionInParametersLbl.Content = "";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    75
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    76
                float minDistHands = float.Parse(searchMinDistanceTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    77
                float maxDistHands = float.Parse(searchMaxDistanceTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    78
                float minDist = float.Parse(minDistanceTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    79
                float maxDist = float.Parse(maxDistanceTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    80
                float zeroPoint = float.Parse(zeroPointTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    81
                int connexionPort = int.Parse(connexionPortTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    82
                int timerElapsing = int.Parse(timerElapsingTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    83
                int imagesToShow = int.Parse(imagesToShowTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    84
                int takenPoints = int.Parse(takenPointsTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    85
                int directionChangeTresholdXY = int.Parse(directionChangeTresholdXYTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    86
                float directionChangeTresholdZ = float.Parse(directionChangeTresholdZTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    87
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    88
                if (maxDistHands <= 0f || minDistHands <= 0f || maxDistHands > maxDist || minDistHands > maxDist ||
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    89
                minDistHands >= maxDistHands || zeroPoint < maxDistHands || minDistHands > minDist ||
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    90
                zeroPoint >= maxDist || connexionPort < 0 || timerElapsing < 0 || imagesToShow < 1 ||
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    91
                takenPoints <= 0 || directionChangeTresholdXY < 0 || directionChangeTresholdZ < 0)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    92
                {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    93
                    ExceptionInParametersLbl.Content = rm.GetString("loadParametersIncorrect");
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    94
                }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    95
                else
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    96
                {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    97
                    debug.setMinDistHands(minDistHands);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    98
                    debug.setMaxDistHands(maxDistHands);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    99
                    debug.setMinDist(minDist);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   100
                    debug.setMaxDist(maxDist);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   101
                    debug.setZeroPoint(zeroPoint);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   102
                    debug.setConnexionHost(connexionHostTB.Text);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   103
                    debug.setConnexionPort(connexionPort);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   104
                    debug.setTimerElapsing(timerElapsing);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   105
                    debug.setImagesToShow(imagesToShow);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   106
                    debug.setTakenPoints(takenPoints);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   107
                    debug.setDirectionChangeTresholdXY(directionChangeTresholdXY);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   108
                    debug.setDirectionChangeTresholdZ(directionChangeTresholdZ);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   109
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   110
                    debug.updateParameters();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   111
                    ExceptionInParametersLbl.Content = null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   112
                }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   113
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   114
            catch (Exception)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   115
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   116
                //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
   117
                //Alors on affiche l'erreur, puis on recharge les paramètres précédents.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   118
                ExceptionInParametersLbl.Content = rm.GetString("loadParametersFail");
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   119
                getParameters();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   120
            }
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
         * 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
   125
         * Les données sont sauvegardées vers KinectMain, puis rechargées dans la fenêtre.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   126
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   127
        private void Button_Click(object sender, RoutedEventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   128
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   129
            setParameters();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   130
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   131
    }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   132
}