middleware/Debug/DebugWindow.xaml.cs
author bastiena
Fri, 29 Jun 2012 15:37:26 +0200
changeset 41 d2f735d7763f
parent 37 37ebedd84755
child 49 1c2834888adc
permissions -rw-r--r--
Middleware: config by config file Front JS: Examples created (pointers & gestures). Installer that integers now Middleware + Front Processing + Front JS.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28
9ccef81f02ab Charset set to UTF-8 without bom
bastiena
parents: 27
diff changeset
     1
/*
15
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: 18
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 : DebugWindow
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 : Reçoit des notifications des sous-modules Tracking, Communication et Exception.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    19
 * Intéragit avec la fenêtre XAML de debug de façon à afficher un rendu visuel.
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.Windows;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    24
using System.Windows.Controls;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    25
using System.Windows.Media;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    26
using System.Windows.Media.Imaging;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    27
using System.Windows.Shapes;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    28
using System.Drawing;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    29
using Microsoft.Kinect;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    30
using System.Resources;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    31
using System.Reflection;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    32
using System.Timers;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    33
using System.Configuration;
37
bastiena
parents: 28
diff changeset
    34
using System.IO;
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    35
using System.Collections.Specialized;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    36
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    37
namespace Trakers.Debug
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    38
{
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    39
    public partial class DebugWindow : Window
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    40
    {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    41
        //Gestionnaire de ressources.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    42
        private ResourceManager rm;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    43
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    44
        //Paramètres du serveur TUIO.
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    45
        private OrderedDictionary config;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    46
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
    47
        //Images
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
    48
        private String imgLocation;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    49
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    50
        //Timer.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    51
        private System.Timers.Timer _timer;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    52
        //Membre permettant d'atteindre la classe KinectMain du sous-module Tracking.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    53
        //private KinectMain kinectMain;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    54
        //Tableau contenant une image en couleurs.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    55
        private byte[] colorPixelData;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    56
        //Indique si la kinect est allumée/éteinte.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    57
        private bool on;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    58
        //Indique si la fenêtre de debug est actuellement en cours de fermeture.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    59
        private bool closing;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    60
        //Indique si l'image doit être raffraichie.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    61
        private Boolean refreshImage;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    62
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    63
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    64
        * Constructeur : Affiche la fenêtre de debug en lui passant en paramètre une instanciation de la
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    65
        * classe KinectMain.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    66
        * Au départ, la kinect est éteinte.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    67
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    68
        public DebugWindow()//KinectMain main)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    69
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    70
            InitializeComponent();
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
    71
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
    72
            imgLocation = "Imgs";
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
    73
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    74
            config = new OrderedDictionary();
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    75
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    76
            //On fait appel au gestionnaire de ressources.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    77
            rm = new ResourceManager("Trakers.Debug.Properties.Resources", Assembly.GetExecutingAssembly());
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    78
            //On tente de charger les paramètres du fichier params.ini.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    79
            //Si on n'y arrive pas, on affiche une erreur et on charge les paramètres par défaut.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    80
            if (!loadParameters())
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    81
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    82
                ExceptionLbl.Content = rm.GetString("loadParametersFail");
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    83
                config.Clear();
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
    84
                //Distances de détection des mains par défaut pour la recherche (ici de 1m à 2m de la Kinect).
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    85
                config.Add("minDistHands", 1.0f);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    86
                config.Add("maxDistHands", 1.5f);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    87
                config.Add("minDist", 1.0f);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    88
                config.Add("maxDist", 4.0f);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    89
                config.Add("zeroPoint", 1.7f);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    90
                config.Add("tuioConnexionHost", "127.0.0.1");
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    91
                config.Add("tuioConnexionPort", 80);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    92
                config.Add("wsConnexionHost", "127.0.0.1");
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    93
                config.Add("wsConnexionPort", 81);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    94
                config.Add("tuioTimerElapsing", 1000);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    95
                config.Add("wsTimerElapsing", 1000);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    96
                config.Add("imagesToShow", 20);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    97
                config.Add("takenPoints", 10);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    98
                config.Add("directionChangeTresholdXY", 10);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
    99
                config.Add("directionChangeTresholdZ", 0.01f);
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   100
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   101
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   102
            //kinectMain = main;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   103
            on = true;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   104
            closing = false;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   105
            refreshImage = true;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   106
            try
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   107
            {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   108
                //On instancie les timers à N ms.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   109
                _timer = new System.Timers.Timer((int)config["tuioTimerElapsing"]);
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   110
                //Dès que le timer est expiré, on appelle _timer_Elapsed.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   111
                _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   112
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   113
            catch (Exception){}
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   114
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   115
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   116
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   117
         * Méthode d'effacement du label d'exceptions.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   118
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   119
        public void NoException()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   120
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   121
            ExceptionLbl.Content = "";
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 d'affichage des exceptions dans le label d'exceptions.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   126
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   127
        public void ShowException(String reference)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   128
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   129
            ExceptionLbl.Content = rm.GetString(reference);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   130
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   131
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   132
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   133
         * Méthode de fermeture de l'interface.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   134
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   135
        public void ShutDownInterface()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   136
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   137
            DebugImage.Source = null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   138
            ExceptionLbl.Content = "";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   139
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   140
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   141
        /*
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   142
         * Méthode appelée à l'expiration du timer ws pour les gestures et modes.
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   143
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   144
        public void _timer_Elapsed(object sender, ElapsedEventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   145
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   146
            //On débloque le raffraichissement de l'image.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   147
            refreshImage = true;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   148
            //On arrête le timer.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   149
            _timer.Stop();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   150
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   151
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   152
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   153
        * Getter pour le membre indiquant la fermeture de la fenêtre de debug.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   154
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   155
        public bool isClosing()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   156
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   157
            return closing;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   158
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   159
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   160
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   161
        * Est appelée à la fermeture de la fenêtre.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   162
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   163
        public void Window_Closed(object sender, EventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   164
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   165
            closing = true;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   166
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   167
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   168
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   169
        * Bouton ON/OFF.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   170
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   171
        private void Switch_Click(object sender, RoutedEventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   172
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   173
            //S'il valait faux, il vaut vrai maintenant et inversement.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   174
            on = !on;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   175
            //Si la kinect est allumée.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   176
            if (on)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   177
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   178
                //Il affiche OFF (pour éteindre la kinect).
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   179
                Switch.Content = "OFF";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   180
                //On vide le label des exceptions.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   181
                ExceptionLbl.Content = "";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   182
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   183
            else
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   184
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   185
                //Il affiche ON (pour allumer la kinect).
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   186
                Switch.Content = "ON";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   187
                //On remet à zéro tous les éléments du retour visuel.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   188
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   189
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   190
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   191
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   192
                DistanceLbl.Content = "Distance :";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   193
                LeftHand.Background = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   194
                LeftHand.Content = "";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   195
                RightHand.Background = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   196
                RightHand.Content = "";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   197
                DebugCanvas.Children.RemoveRange(1, DebugCanvas.Children.Count - 1);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   198
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   199
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   200
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   201
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   202
        *  Récupère le flux video et met à jour le rendu visuel de debug.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   203
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   204
        public void RefreshVideo(AllFramesReadyEventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   205
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   206
            if (refreshImage)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   207
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   208
                bool receivedData = false;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   209
                ColorImageFrame colorImageFrameData;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   210
                using (colorImageFrameData = e.OpenColorImageFrame())
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   211
                {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   212
                    //Si on ne reçoit pas de trames de la kinect.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   213
                    if (colorImageFrameData == null)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   214
                    {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   215
                        //L'image est supprimée.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   216
                        DebugImage.Source = null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   217
                    }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   218
                    //Si le tableau stockant l'image en cours est nul.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   219
                    if (colorPixelData == null)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   220
                        //On alloue un nouveau tableau.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   221
                        colorPixelData = new byte[colorImageFrameData.PixelDataLength];
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   222
                    else
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   223
                    {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   224
                        try
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   225
                        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   226
                            //Sinon on met à jour le tableau en copiant le contenu de la trame dans le tableau.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   227
                            colorImageFrameData.CopyPixelDataTo(colorPixelData);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   228
                            receivedData = true;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   229
                        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   230
                        catch (Exception) { }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   231
                    }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   232
                }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   233
                //Si on a des données dans le tableau et que la kinect est allumée.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   234
                if (receivedData && on)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   235
                {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   236
                    //On met à jour l'image de la caméra.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   237
                    DebugImage.Source = BitmapSource.Create(colorImageFrameData.Width, colorImageFrameData.Height, 96, 96, PixelFormats.Bgr32, null, colorPixelData, colorImageFrameData.Width * colorImageFrameData.BytesPerPixel);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   238
                    DebugImage.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   239
                    DebugImage.VerticalAlignment = System.Windows.VerticalAlignment.Center;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   240
                    DebugImage.Stretch = Stretch.Fill;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   241
                    //On annule l'image associée aux gestures.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   242
                    Gestures.Source = null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   243
                }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   244
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   245
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   246
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   247
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   248
        * Affiche la distance de l'utilisateur dans le rendu visuel.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   249
        * Sous forme de nombre en m et de rectangles changeant de couleur en fonction de la distance.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   250
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   251
        public void showDistance(float proximity)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   252
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   253
            DistanceLbl.Content = "Proximity : " + proximity + "%";
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   254
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   255
            if (proximity == 0)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   256
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   257
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   258
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   259
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   260
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   261
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   262
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   263
                R6.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   264
                R7.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   265
                R8.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   266
                R9.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   267
                R10.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   268
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   269
            else if (proximity > 0 && proximity < 10)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   270
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   271
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   272
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   273
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   274
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   275
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   276
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   277
                R6.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   278
                R7.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   279
                R8.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   280
                R9.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   281
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   282
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   283
            else if (proximity > 10 && proximity < 20)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   284
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   285
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   286
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   287
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   288
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   289
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   290
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   291
                R6.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   292
                R7.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   293
                R8.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   294
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   295
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   296
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   297
            else if (proximity > 20 && proximity < 30)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   298
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   299
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   300
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   301
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   302
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   303
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   304
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   305
                R6.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   306
                R7.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   307
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   308
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   309
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   310
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   311
            else if (proximity > 30 && proximity < 40)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   312
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   313
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   314
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   315
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   316
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   317
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   318
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   319
                R6.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   320
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   321
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   322
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   323
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   324
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   325
            else if (proximity > 40 && proximity < 50)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   326
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   327
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   328
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   329
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   330
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   331
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   332
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   333
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   334
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   335
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   336
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   337
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   338
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   339
            else if (proximity > 50 && proximity < 60)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   340
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   341
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   342
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   343
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   344
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   345
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   346
                R5.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   347
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   348
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   349
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   350
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   351
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   352
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   353
            else if (proximity > 60 && proximity < 70)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   354
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   355
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   356
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   357
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   358
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   359
                R4.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   360
                R5.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   361
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   362
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   363
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   364
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   365
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   366
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   367
            else if (proximity > 70 && proximity < 80)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   368
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   369
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   370
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   371
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   372
                R3.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   373
                R4.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   374
                R5.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   375
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   376
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   377
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   378
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   379
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   380
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   381
            else if (proximity > 80 && proximity < 90)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   382
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   383
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   384
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   385
                R2.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   386
                R3.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   387
                R4.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   388
                R5.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   389
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   390
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   391
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   392
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   393
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   394
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   395
            else if (proximity > 90 && proximity < 100)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   396
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   397
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   398
                R1.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   399
                R2.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   400
                R3.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   401
                R4.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   402
                R5.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   403
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   404
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   405
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   406
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   407
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   408
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   409
            else if (proximity == 100)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   410
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   411
                R0.Fill = System.Windows.Media.Brushes.Green;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   412
                R1.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   413
                R2.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   414
                R3.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   415
                R4.Fill = System.Windows.Media.Brushes.Yellow;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   416
                R5.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   417
                R6.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   418
                R7.Fill = System.Windows.Media.Brushes.Orange;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   419
                R8.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   420
                R9.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   421
                R10.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   422
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   423
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   424
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   425
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   426
        * Affiche la détection de la main droite via un label.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   427
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   428
        public void showRightHandRect(bool show)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   429
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   430
            if (show)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   431
                RightHand.Background = System.Windows.Media.Brushes.Blue;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   432
            else
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   433
                RightHand.Background = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   434
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   435
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   436
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   437
        * Affiche la détection de la main gauche via un label.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   438
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   439
        public void showLeftHandRect(bool show)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   440
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   441
            if (show)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   442
                LeftHand.Background = System.Windows.Media.Brushes.Blue;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   443
            else
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   444
                LeftHand.Background = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   445
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   446
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   447
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   448
        * Dessine les noeuds du squelette dans le rendu visuel.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   449
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   450
        public void drawJoints(JointCollection joints, Skeleton first)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   451
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   452
            if (refreshImage)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   453
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   454
                //On enlève tout élément du Canvas à part l'image, de manière à mettre à jour la position du squelette. 
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   455
                DebugCanvas.Children.RemoveRange(1, DebugCanvas.Children.Count - 1);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   456
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   457
                //Pour chaque noeud.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   458
                foreach (Joint joint in first.Joints)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   459
                {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   460
                    //On crée une ellipse de taille 20 et de largeur 20.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   461
                    Ellipse node = new Ellipse();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   462
                    node.Height = 20;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   463
                    node.Width = 20;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   464
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   465
                    //S'il s'agit d'un noeud de tête, on le colorie en rouge, sinon en bleu.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   466
                    if (joint.JointType == JointType.Head)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   467
                        node.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   468
                    else if (joint.JointType == JointType.ShoulderCenter)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   469
                        node.Fill = System.Windows.Media.Brushes.Green;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   470
                    else if (joint.JointType == JointType.HipCenter)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   471
                        node.Fill = System.Windows.Media.Brushes.Green;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   472
                    else if (joint.JointType == JointType.HandRight)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   473
                        node.Fill = System.Windows.Media.Brushes.Red;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   474
                    else
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   475
                        node.Fill = System.Windows.Media.Brushes.Blue;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   476
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   477
                    //On met à la bonne échelle les coordonnées des positions des noeuds.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   478
                    Joint scaledJoint = Coding4Fun.Kinect.Wpf.SkeletalExtensions.ScaleTo(joint, 600, 400, 0.75f, 0.75f);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   479
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   480
                    //On positionne le noeud dans le Canvas, et on l'ajoute.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   481
                    Canvas.SetLeft(node, scaledJoint.Position.X);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   482
                    Canvas.SetTop(node, scaledJoint.Position.Y);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   483
                    DebugCanvas.Children.Add(node);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   484
                }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   485
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   486
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   487
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   488
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   489
        * Dessine un os, en ayant en paramètres deux noeuds.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   490
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   491
        public void drawBone(Joint j1, Joint j2)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   492
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   493
            //On crée une nouvelle ligne verte d'épaisseur 8 entre les deux noeuds et on l'ajoute au Canvas.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   494
            Line line = new Line();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   495
            line.Stroke = System.Windows.Media.Brushes.Green;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   496
            line.X1 = j1.Position.X;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   497
            line.X2 = j2.Position.X;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   498
            line.Y1 = j1.Position.Y;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   499
            line.Y2 = j2.Position.Y;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   500
            line.StrokeThickness = 8;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   501
            DebugCanvas.Children.Add(line);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   502
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   503
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   504
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   505
        * Dessine le squelette (ensemble des os), en ayant en paramètres tous les noeuds.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   506
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   507
        public void showSkeleton(Joint hipCenter, Joint spine, Joint shoulderCenter, Joint head, Joint shoulderLeft, Joint elbowLeft, Joint wristLeft, Joint handLeft, Joint shoulderRight, Joint elbowRight, Joint wristRight, Joint handRight, Joint hipLeft, Joint kneeLeft, Joint ankleLeft, Joint footLeft, Joint hipRight, Joint kneeRight, Joint ankleRight, Joint footRight)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   508
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   509
            if (refreshImage)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   510
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   511
                //On met les noeuds deux par deux en fonction de leur position dans le squelette.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   512
                drawBone(head, shoulderCenter);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   513
                drawBone(shoulderCenter, shoulderLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   514
                drawBone(shoulderLeft, elbowLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   515
                drawBone(elbowLeft, wristLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   516
                drawBone(wristLeft, handLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   517
                drawBone(shoulderCenter, shoulderRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   518
                drawBone(shoulderRight, elbowRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   519
                drawBone(elbowRight, wristRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   520
                drawBone(wristRight, handRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   521
                drawBone(shoulderCenter, spine);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   522
                drawBone(spine, hipCenter);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   523
                drawBone(hipCenter, hipLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   524
                drawBone(hipLeft, kneeLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   525
                drawBone(kneeLeft, ankleLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   526
                drawBone(ankleLeft, footLeft);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   527
                drawBone(hipCenter, hipRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   528
                drawBone(hipRight, kneeRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   529
                drawBone(kneeRight, ankleRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   530
                drawBone(ankleRight, footRight);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   531
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   532
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   533
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   534
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   535
        * Cache le squelette et le reste de l'interface à part l'image.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   536
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   537
        public void hideSkeleton()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   538
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   539
            //On vide le canvas mais en gardant l'image.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   540
            if(DebugCanvas.Children.Count > 1)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   541
                DebugCanvas.Children.RemoveRange(1, DebugCanvas.Children.Count - 1);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   542
            //On colore en gris tous les indicateurs.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   543
            R0.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   544
            R1.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   545
            R2.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   546
            R3.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   547
            R4.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   548
            R5.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   549
            R6.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   550
            R7.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   551
            R8.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   552
            R9.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   553
            R10.Fill = System.Windows.Media.Brushes.DarkGray;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   554
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   555
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   556
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   557
        * Affiche la position de la main gauche dans le rendu visuel.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   558
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   559
        public void showLeftHandCoord(String coord)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   560
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   561
            LeftHand.Content = coord;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   562
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   563
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   564
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   565
        * Affiche la position de la main gauche dans le rendu visuel.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   566
        */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   567
        public void showRightHandCoord(String coord)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   568
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   569
            RightHand.Content = coord;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   570
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   571
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   572
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   573
         * Méthode associée à l'événement : Quitter via le menu.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   574
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   575
        public void Quit_Click(object sender, RoutedEventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   576
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   577
            closing = true;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   578
            //On éteint la Kinect (pour éviter qu'elle reste allumée même lorsque le programme est éteint).
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   579
 
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   580
            Application.Current.Shutdown();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   581
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   582
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   583
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   584
         * Permet d'initialiser la Kinect dès que la fenêtre est lancée.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   585
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   586
        private void Window_Loaded(object sender, RoutedEventArgs e)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   587
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   588
            //kinectMain.KinectInitialization();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   589
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   590
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   591
        /*
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   592
         * Permet d'obtenir l'image associée à l'emplacement des images si celle-ci existe.
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   593
         */
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   594
        public Bitmap getImage(String location)
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   595
        {
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   596
            try
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   597
            {
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   598
                return new Bitmap(location);
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   599
            }
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   600
            catch (Exception)
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   601
            {
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   602
                return (Bitmap)rm.GetObject("_404");
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   603
            }
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   604
        }
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   605
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   606
        /*
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   607
         * Méthode d'affichage des gestures.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   608
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   609
        public void showGesture(String gesture)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   610
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   611
            if (refreshImage)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   612
            {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   613
                refreshImage = false;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   614
                _timer.Start();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   615
                Bitmap bitmap = null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   616
                //S'il s'agit de telle ou telle gesture, on prend l'image correspondante dans les ressources,
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   617
                //on la convertit et on l'affiche.
37
bastiena
parents: 28
diff changeset
   618
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   619
                switch (gesture)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   620
                {
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   621
                    case "SWIPE-LEFT": bitmap = getImage(imgLocation + "\\swipe_left.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   622
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   623
                    case "SWIPE-RIGHT": bitmap = getImage(imgLocation + "\\swipe_right.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   624
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   625
                    case "PUSH-RIGHT": bitmap = getImage(imgLocation + "\\push_right.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   626
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   627
                    case "PUSH-LEFT": bitmap = getImage(imgLocation + "\\push_left.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   628
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   629
                    case "PUSH-BOTH": bitmap = getImage(imgLocation + "\\push_both.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   630
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   631
                    case "PULL-RIGHT": bitmap = getImage(imgLocation + "\\pull_right.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   632
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   633
                    case "PULL-LEFT": bitmap = getImage(imgLocation + "\\pull_left.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   634
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   635
                    case "PULL-BOTH": bitmap = getImage(imgLocation + "\\pull_both.png");
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   636
                        break;
37
bastiena
parents: 28
diff changeset
   637
                    case "WAVE": bitmap = getImage(imgLocation + "\\hello.png");
17
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   638
                        break;
18
a03d6f25c74f Middleware :
bastiena
parents: 17
diff changeset
   639
                    case "BEND": bitmap = getImage(imgLocation + "\\bend.png");
17
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   640
                        break;
37
bastiena
parents: 28
diff changeset
   641
                    case "KNEE-UP": bitmap = getImage(imgLocation + "\\knee_up.png");
17
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   642
                        break;
37
bastiena
parents: 28
diff changeset
   643
                    case "JUMP": bitmap = getImage(imgLocation + "\\jump.png");
bastiena
parents: 28
diff changeset
   644
                        break;
bastiena
parents: 28
diff changeset
   645
                    case "FALL": bitmap = getImage(imgLocation + "\\fall.png");
17
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   646
                        break;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   647
                }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   648
                Gestures.Source = CreateBitmapSourceFromBitmap(bitmap);
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   649
            }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   650
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   651
            DebugImage.Source = null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   652
            hideSkeleton();
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   653
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   654
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   655
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   656
         * Méthode d'indication de raffraichissement de l'image ("on la raffraichit ou pas ?").
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   657
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   658
        public void setRefreshImage(bool refresh)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   659
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   660
            refreshImage = refresh;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   661
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   662
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   663
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   664
         * Méthode de conversion de Bitmap (des ressources) en BitmapSource (du debug).
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   665
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   666
        public static BitmapSource CreateBitmapSourceFromBitmap(Bitmap bitmap)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   667
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   668
            if (bitmap == null)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   669
                return null;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   670
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   671
            return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   672
                bitmap.GetHbitmap(),
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   673
                IntPtr.Zero,
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   674
                Int32Rect.Empty,
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   675
                BitmapSizeOptions.FromEmptyOptions());
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   676
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   677
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   678
        /*
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   679
         * Méthode de chargement des paramètres via le fichier de configuration.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   680
         */
37
bastiena
parents: 28
diff changeset
   681
        public bool loadParameters()
bastiena
parents: 28
diff changeset
   682
        {
bastiena
parents: 28
diff changeset
   683
            try
bastiena
parents: 28
diff changeset
   684
            {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   685
                //On lit le fichier de config.
37
bastiena
parents: 28
diff changeset
   686
                String[] lines = System.IO.File.ReadAllLines("config.txt");
bastiena
parents: 28
diff changeset
   687
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   688
                //On repère les paramètres supposés être des int ou float de manière à les parser.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   689
                String[] ints = { "tuioConnexionPort", "wsConnexionPort", "takenPoints", "tuioTimerElapsing", "wsTimerElapsing", "directionChangeTresholdXY", "imagesToShow" };
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   690
                String[] floats = { "minDistHands", "minDist", "maxDistHands", "maxDist", "zeroPoint", "directionChangeTresholdZ" };
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   691
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   692
                //Indique si on a affecté le paramètre actuel.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   693
                bool goToNextParam = false;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   694
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   695
                //Pour chaque ligne du fichier de config.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   696
                for (int i = 0 ; i < lines.Length ; i++)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   697
                {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   698
                    //On récupère la clé et la valeur.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   699
                    String key = lines[i].Split(':')[0];
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   700
                    String value = lines[i].Split(':')[1];
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   701
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   702
                    //Si c'est un int on le parse.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   703
                    for (int j = 0 ; j < ints.Length ; j++)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   704
                    {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   705
                        if (ints[j] == key)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   706
                        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   707
                            config.Add(key, int.Parse(value));
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   708
                            goToNextParam = true;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   709
                        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   710
                    }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   711
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   712
                    //Si il n'était pas un int.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   713
                    if (!goToNextParam)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   714
                    {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   715
                        //Si c'est un float on le parse.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   716
                        for (int j = 0; j < floats.Length; j++)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   717
                        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   718
                            if (floats[j] == key)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   719
                            {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   720
                                config.Add(key, float.Parse(value));
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   721
                                goToNextParam = true;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   722
                            }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   723
                        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   724
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   725
                        //Si c'était en fait un string.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   726
                        if (!goToNextParam)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   727
                        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   728
                            config.Add(key, value);
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   729
                        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   730
                    }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   731
                    goToNextParam = false;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   732
                }
37
bastiena
parents: 28
diff changeset
   733
            }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   734
            //S'il s'est passé un problème durant la lecture du fichier de config.
37
bastiena
parents: 28
diff changeset
   735
            catch (Exception e)
bastiena
parents: 28
diff changeset
   736
            {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   737
                //On génère un fichier qui va afficher l'erreur.
37
bastiena
parents: 28
diff changeset
   738
                StreamWriter SW;
bastiena
parents: 28
diff changeset
   739
                try
bastiena
parents: 28
diff changeset
   740
                {
bastiena
parents: 28
diff changeset
   741
                    SW = File.CreateText("ErrorFile.txt");
bastiena
parents: 28
diff changeset
   742
                    SW.WriteLine(e.Message);
bastiena
parents: 28
diff changeset
   743
                    SW.Close();
bastiena
parents: 28
diff changeset
   744
                }
bastiena
parents: 28
diff changeset
   745
                catch { }
bastiena
parents: 28
diff changeset
   746
bastiena
parents: 28
diff changeset
   747
                return false;
bastiena
parents: 28
diff changeset
   748
            }
bastiena
parents: 28
diff changeset
   749
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   750
            //Si l'extraction s'est bien passé mais que les paramètres sont incohérents.
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   751
            if ((float)config["maxDistHands"] <= 0f || (float)config["minDistHands"] <= 0f || (float)config["maxDistHands"] > (float)config["maxDist"] || (float)config["minDistHands"] > (float)config["maxDist"] ||
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   752
                (float)config["minDistHands"] >= (float)config["maxDistHands"] || (float)config["zeroPoint"] < (float)config["maxDistHands"] || (float)config["minDistHands"] > (float)config["minDist"] ||
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   753
                (float)config["zeroPoint"] >= (float)config["maxDist"] || (int)config["tuioConnexionPort"] < 0 || (int)config["wsConnexionPort"] < 0 || (int)config["tuioTimerElapsing"] < 0 || (int)config["wsTimerElapsing"] < 0 || (int)config["imagesToShow"] < 1 ||
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   754
                (int)config["takenPoints"] <= 0 || (int)config["directionChangeTresholdXY"] < 0 || (float)config["directionChangeTresholdZ"] < 0)
37
bastiena
parents: 28
diff changeset
   755
            {
bastiena
parents: 28
diff changeset
   756
                ExceptionLbl.Content = rm.GetString("loadParametersIncorrect");
bastiena
parents: 28
diff changeset
   757
bastiena
parents: 28
diff changeset
   758
                StreamWriter SW;
bastiena
parents: 28
diff changeset
   759
                try
bastiena
parents: 28
diff changeset
   760
                {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   761
                    //On indique les incohérences trouvées dans le fichier.
37
bastiena
parents: 28
diff changeset
   762
                    SW = File.CreateText("ErrorFile.txt");
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   763
                    if ((float)config["maxDistHands"] <= 0f) { SW.WriteLine("searchMaxDistance <= 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   764
                    if ((float)config["minDistHands"] <= 0f) { SW.WriteLine("minDistance <= 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   765
                    if ((float)config["maxDistHands"] > (float)config["maxDist"]) { SW.WriteLine("searchMaxDistance > maxDistance"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   766
                    if ((float)config["minDistHands"] > (float)config["maxDist"]) { SW.WriteLine("searchMinDistance > maxDistance"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   767
                    if ((float)config["minDistHands"] >= (float)config["maxDistHands"]) { SW.WriteLine("searchMinDistance >= searchMaxDistance"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   768
                    if ((float)config["zeroPoint"] < (float)config["maxDistHands"]) { SW.WriteLine("zeroPoint < searchMaxDistance"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   769
                    if ((float)config["minDistHands"] > (float)config["minDist"]) { SW.WriteLine("searchMinDistance > minDistance"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   770
                    if ((float)config["zeroPoint"] >= (float)config["maxDist"]) { SW.WriteLine("zeroPoint >= maxDistance"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   771
                    if ((int)config["tuioConnexionPort"] < 0) { SW.WriteLine("tuioConnexionPort < 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   772
                    if ((int)config["wsConnexionPort"] < 0) { SW.WriteLine("wsConnexionPort < 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   773
                    if ((int)config["tuioTimerElapsing"] < 0) { SW.WriteLine("tuioTimerElapsing < 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   774
                    if ((int)config["wsTimerElapsing"] < 0) { SW.WriteLine("wsTimerElapsing < 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   775
                    if ((int)config["imagesToShow"] < 1) { SW.WriteLine("imagesToShow < 1"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   776
                    if ((int)config["takenPoints"] <= 0) { SW.WriteLine("takenPoints <= 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   777
                    if ((int)config["directionChangeTresholdXY"] < 0) { SW.WriteLine("directionChangeTresholdXY < 0"); }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   778
                    if ((float)config["directionChangeTresholdZ"] < 0) { SW.WriteLine("directionChangeTresholdZ < 0"); }
37
bastiena
parents: 28
diff changeset
   779
                    SW.Close();
bastiena
parents: 28
diff changeset
   780
                    Console.WriteLine("Error File Created SucacessFully");
bastiena
parents: 28
diff changeset
   781
                }
bastiena
parents: 28
diff changeset
   782
                catch (Exception){}
bastiena
parents: 28
diff changeset
   783
bastiena
parents: 28
diff changeset
   784
                return false;
bastiena
parents: 28
diff changeset
   785
            }
bastiena
parents: 28
diff changeset
   786
            return true;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   787
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   788
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   789
        /*
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   790
         * Getters et setters des paramètres du Middleware.
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   791
         */
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   792
        public void setMinDistHands(float min)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   793
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   794
            config["minDistHands"] = min;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   795
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   796
        public void setMaxDistHands(float max)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   797
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   798
            config["maxDistHands"] = max;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   799
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   800
        public void setMinDist(float min)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   801
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   802
            config["minDist"] = min;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   803
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   804
        public void setMaxDist(float max)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   805
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   806
            config["maxDist"] = max;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   807
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   808
        public void setZeroPoint(float zero)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   809
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   810
            config["zeroPoint"] = zero;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   811
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   812
        public void setTuioConnexionHost(String host)
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   813
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   814
            config["tuioConnexionHost"] = host;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   815
        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   816
        public void setTuioConnexionPort(int port)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   817
        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   818
            config["tuioConnexionPort"] = port;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   819
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   820
        public void setWsConnexionHost(String host)
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   821
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   822
            config["wsConnexionHost"] = host;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   823
        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   824
        public void setWsConnexionPort(int port)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   825
        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   826
            config["wsConnexionPort"] = port;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   827
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   828
        public void setTuioTimerElapsing(int time)
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   829
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   830
            config["tuioTimerElapsing"] = time;
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   831
        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   832
        public void setWsTimerElapsing(int time)
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   833
        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   834
            config["wsTimerElapsing"] = time;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   835
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   836
        public void setImagesToShow(int _imagesToShow)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   837
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   838
            config["imagesToShow"] = _imagesToShow;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   839
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   840
        public void setTakenPoints(int _takenPoints)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   841
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   842
            config["takenPoints"] = _takenPoints;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   843
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   844
        public void setDirectionChangeTresholdXY(int _directionChangeTresholdXY)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   845
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   846
            config["directionChangeTresholdXY"] = _directionChangeTresholdXY;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   847
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   848
        public void setDirectionChangeTresholdZ(float _directionChangeTresholdZ)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   849
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   850
            config["directionChangeTresholdZ"] = _directionChangeTresholdZ;
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   851
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   852
        public void setSwitch(Button _switch)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   853
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   854
            Switch = _switch;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   855
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   856
        public void setOn(bool _on)
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   857
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   858
            on = _on;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   859
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   860
        
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   861
        public float getMinDistHands()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   862
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   863
            return (float)config["minDistHands"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   864
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   865
        public float getMaxDistHands()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   866
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   867
            return (float)config["maxDistHands"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   868
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   869
        public float getMinDist()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   870
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   871
            return (float)config["minDist"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   872
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   873
        public float getMaxDist()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   874
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   875
            return (float)config["maxDist"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   876
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   877
        public float getZeroPoint()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   878
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   879
            return (float)config["zeroPoint"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   880
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   881
        public String getTuioConnexionHost()
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   882
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   883
            return (String)config["tuioConnexionHost"];
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   884
        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   885
        public int getTuioConnexionPort()
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   886
        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   887
            return (int)config["tuioConnexionPort"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   888
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   889
        public int getTuioTimerElapsing()
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   890
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   891
            return (int)config["tuioTimerElapsing"];
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   892
        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   893
        public String getWsConnexionHost()
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   894
        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   895
            return (String)config["wsConnexionHost"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   896
        }
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   897
        public int getWsConnexionPort()
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   898
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   899
            return (int)config["wsConnexionPort"];
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   900
        }
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   901
        public int getWsTimerElapsing()
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   902
        {
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   903
            return (int)config["wsTimerElapsing"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   904
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   905
        public int getImagesToShow()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   906
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   907
            return (int)config["imagesToShow"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   908
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   909
        public int getTakenPoints()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   910
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   911
            return (int)config["takenPoints"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   912
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   913
        public int getDirectionChangeTresholdXY()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   914
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   915
            return (int)config["directionChangeTresholdXY"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   916
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   917
        public float getDirectionChangeTresholdZ()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   918
        {
41
d2f735d7763f Middleware:
bastiena
parents: 37
diff changeset
   919
            return (float)config["directionChangeTresholdZ"];
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   920
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   921
        public Button getSwitch()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   922
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   923
            return Switch;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   924
        }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   925
        public bool getOn()
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   926
        {
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   927
            return on;
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
   928
        }
17
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   929
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   930
        public void onR0(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   931
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   932
            if(b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   933
                R0.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   934
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   935
                R0.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   936
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   937
        public void onR1(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   938
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   939
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   940
                R1.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   941
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   942
                R1.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   943
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   944
        public void onR2(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   945
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   946
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   947
                R2.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   948
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   949
                R2.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   950
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   951
        public void onR3(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   952
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   953
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   954
                R3.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   955
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   956
                R3.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   957
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   958
        public void onR4(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   959
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   960
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   961
                R4.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   962
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   963
                R4.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   964
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   965
        public void onR5(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   966
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   967
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   968
                R5.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   969
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   970
                R5.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   971
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   972
        public void onR6(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   973
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   974
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   975
                R6.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   976
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   977
                R6.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   978
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   979
        public void onR7(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   980
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   981
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   982
                R7.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   983
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   984
                R7.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   985
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   986
        public void onR8(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   987
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   988
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   989
                R8.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   990
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   991
                R8.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   992
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   993
        public void onR9(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   994
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   995
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   996
                R9.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   997
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   998
                R9.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
   999
        }
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1000
        public void onR10(bool b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1001
        {
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1002
            if (b)
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1003
                R10.Fill = System.Windows.Media.Brushes.Blue;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1004
            else
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1005
                R10.Fill = System.Windows.Media.Brushes.DarkGray;
fda26bfcabef Middleware :
bastiena
parents: 16
diff changeset
  1006
        }
15
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
  1007
    }
4b78f179e7ce Middleware :
bastiena
parents:
diff changeset
  1008
}