Middleware :
authorbastiena
Wed, 04 Apr 2012 10:51:21 +0200
changeset 16 a9ebacd6c089
parent 15 4b78f179e7ce
child 17 fda26bfcabef
Middleware : parameters propagation added from debug to MainModule and then into everything that needs it
.hgignore
middleware/Communication/Server.cs
middleware/Debug/DebugParameters.xaml
middleware/Debug/DebugParameters.xaml.cs
middleware/Debug/DebugWindow.xaml
middleware/Debug/DebugWindow.xaml.cs
middleware/dist/TraKERS.iss
middleware/src/MainModule/KinectMain.cs
--- a/.hgignore	Mon Apr 02 16:30:56 2012 +0200
+++ b/.hgignore	Wed Apr 04 10:51:21 2012 +0200
@@ -24,3 +24,6 @@
 front_processing/src/Interaction_examples/*/application.windows/lib/*
 front_processing/src/Interaction_examples/*/application.windows/*
 middleware/dist/dotNetFx40_Client_x86_x64.exe
+middleware/lib/Tracking.dll
+middleware/lib/Debug.dll
+middleware/lib/Communication.dll
--- a/middleware/Communication/Server.cs	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Communication/Server.cs	Wed Apr 04 10:51:21 2012 +0200
@@ -238,5 +238,18 @@
                 }
             }
         }
+
+        /*
+         * Getters et Setters
+         */
+        public void setTimerElapsing(int _timerElapsing)
+        {
+            timerElapsing = _timerElapsing;
+        }
+
+        public int getTimerElapsing()
+        {
+            return timerElapsing;
+        }
     }
 }
--- a/middleware/Debug/DebugParameters.xaml	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugParameters.xaml	Wed Apr 04 10:51:21 2012 +0200
@@ -23,7 +23,7 @@
     L'intervalle de temps entre le début et la fin du timer pour la détection des gestures.
 -->
     
-<Window x:Class="Trakers.Debug.DebugParameters" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="TraKERS - Paramètres" Height="380" Width="300">
+<Window x:Class="Trakers.Debug.DebugParameters" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="TraKERS - Paramètres" Height="380" Width="300" Closed="Window_Closed">
     <Grid>
         <StackPanel>
             <TabControl>
@@ -125,7 +125,7 @@
                 </TabItem>
             </TabControl>
 
-            <Button Content="Modifier" Click="Button_Click" />
+            <Button Name="ModButton" Content="Modifier" Click="Button_Click" />
             <!-- Affichage des problèmes éventuels lors de la saisie des paramètres. -->
             <Label Content="" Name="ExceptionInParametersLbl" Height="28" />
         </StackPanel>
--- a/middleware/Debug/DebugParameters.xaml.cs	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugParameters.xaml.cs	Wed Apr 04 10:51:21 2012 +0200
@@ -23,6 +23,7 @@
 using System.Reflection;
 using System.Resources;
 using System.Windows;
+using System.Windows.Controls;
 
 namespace Trakers.Debug
 {
@@ -128,5 +129,26 @@
         {
             setParameters();
         }
+
+        /*
+         * Getters et Setters.
+         */
+        public void setModButton(Button button)
+        {
+            ModButton = button;
+        }
+
+        public Button getModButton()
+        {
+            return ModButton;
+        }
+
+        /*
+         * S'effectue lorsque la fenêtre se ferme.
+         */
+        private void Window_Closed(object sender, EventArgs e)
+        {
+
+        }
     }
 }
--- a/middleware/Debug/DebugWindow.xaml	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugWindow.xaml	Wed Apr 04 10:51:21 2012 +0200
@@ -49,7 +49,7 @@
                 <!-- Menu de la fenêtre de debug. -->
                 <Menu Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Left" Height="20" Width="50" Background="LightGray" Foreground="White">
                     <MenuItem Header="Fichier" Background="Black">
-                        <MenuItem Header="Paramètres" Background="White" Foreground="Black" Click="Parameters_Click" />
+                        <MenuItem Name="ParamMenu" Header="Paramètres" Background="White" Foreground="Black" Click="Parameters_Click" />
                         <MenuItem Name="QuitMenu" Header="Quitter" Background="White" Foreground="Black" />
                     </MenuItem>
                 </Menu>
--- a/middleware/Debug/DebugWindow.xaml.cs	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/Debug/DebugWindow.xaml.cs	Wed Apr 04 10:51:21 2012 +0200
@@ -69,6 +69,8 @@
         private bool closing;
         //Indique si l'image doit être raffraichie.
         private Boolean refreshImage;
+        //Fenêtre de paramètres
+        private DebugParameters param;
 
         /*
         * Constructeur : Affiche la fenêtre de debug en lui passant en paramètre une instanciation de la
@@ -100,6 +102,9 @@
                 directionChangeTresholdZ = 0.01f;
             }
 
+            //On charge la fenêtre de paramètres.
+            param = new DebugParameters(this);
+
             //kinectMain = main;
             on = true;
             closing = false;
@@ -575,8 +580,6 @@
          */
         private void Parameters_Click(object sender, RoutedEventArgs e)
         {
-            DebugParameters param = new DebugParameters(this);
-
             try
             {
                 param.ShowDialog();
@@ -807,6 +810,14 @@
         {
             QuitMenu = quitMenu;
         }
+        public void setParametersWindow(DebugParameters parameters)
+        {
+            param = parameters;
+        }
+        public void setParamMenu(MenuItem parameters)
+        {
+            ParamMenu = parameters;
+        }
 
         public float getMinDistHands()
         {
@@ -868,5 +879,13 @@
         {
             return QuitMenu;
         }
+        public DebugParameters getParametersWindow()
+        {
+            return param;
+        }
+        public MenuItem getParamMenu()
+        {
+            return ParamMenu;
+        }
     }
 }
--- a/middleware/dist/TraKERS.iss	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/dist/TraKERS.iss	Wed Apr 04 10:51:21 2012 +0200
@@ -2,7 +2,7 @@
 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
 #define MyAppName "TraKERS"
-#define MyAppVersion "1.1"
+#define MyAppVersion "1.3"
 #define MyAppPublisher "IRI"
 
 [Setup]
@@ -34,21 +34,23 @@
 Source: "C:\Users\bastiena\Documents\trakers\middleware\dist\dotNetFx40_Client_x86_x64.exe"; DestDir: "{app}\Dependancies\"; Flags: ignoreversion
 
 Source: "C:\Users\bastiena\Documents\trakers\middleware\lib\*"; DestDir: "{app}\Middleware\lib\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Communication\*"; DestDir: "{app}\Middleware\src\Communication\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Debug\*"; DestDir: "{app}\Middleware\src\Debug\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Properties\*"; DestDir: "{app}\Middleware\src\Properties\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Tracking\*"; DestDir: "{app}\Middleware\src\Tracking\"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\App.config"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
+
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\*"; DestDir: "{app}\Middleware\Debug\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Tracking\*"; DestDir: "{app}\Middleware\Tracking\"; Flags: ignoreversion recursesubdirs createallsubdirs
 Source: "C:\Users\bastiena\Documents\trakers\middleware\src\MainClass.cs"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\Trakers.csproj"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\src\MainModule.csproj"; DestDir: "{app}\Middleware\src\"; Flags: ignoreversion
 Source: "C:\Users\bastiena\Documents\trakers\middleware\Trakers.sln"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
 
 Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Bespoke.Common.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
 Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Bespoke.Common.Osc.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
 Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Coding4Fun.Kinect.Wpf.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
 Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\TuioServer.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Trakers.exe.Config"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
-Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\Trakers.exe"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\src\bin\Release\MainModule.exe"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\bin\Release\Debug.dll.config"; DestDir: "{app}\Middleware\Debug\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\bin\Release\Debug.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Communication\bin\Release\Communication.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Tracking\bin\Release\Tracking.dll"; DestDir: "{app}\Middleware\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "C:\Users\bastiena\Documents\trakers\middleware\Debug\bin\Release\Debug.dll.config"; DestDir: "{app}\Middleware\"; Flags: ignoreversion recursesubdirs createallsubdirs
 
 Source: "C:\Users\bastiena\Documents\trakers\front_processing\doc\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs
 Source: "C:\Users\bastiena\Documents\trakers\front_processing\src\*"; DestDir: "{app}\Front Processing\src\"; Flags: ignoreversion recursesubdirs createallsubdirs
@@ -56,7 +58,7 @@
 
 [Icons]
 Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
-Name: "{group}\{#MyAppName}\Middleware"; Filename: "{app}\Middleware\Trakers.exe"
+Name: "{group}\{#MyAppName}\Middleware"; Filename: "{app}\Middleware\MainModule.exe" 
 Name: "{group}\{#MyAppName}\Hand Pointing"; Filename: "{app}\Front Processing\src\Trakers\application.windows\Trakers.exe"
 Name: "{group}\{#MyAppName}\Gesture Recognition"; Filename: "{app}\Front Processing\src\Trakers_gestures\application.windows\Trakers_gestures.exe"
 Name: "{group}\{#MyAppName}\Fluid Manipulation"; Filename: "{app}\Front Processing\src\Fluid_manipulation\application.windows\Fluid_manipulation.exe"
@@ -65,7 +67,7 @@
 Name: "{group}\{#MyAppName}\Hand Signal"; Filename: "{app}\Front Processing\src\Interaction_examples\Hand_signal\application.windows\Hand_signal.exe"
 Name: "{group}\{#MyAppName}\Hands 1D"; Filename: "{app}\Front Processing\src\Interaction_examples\Hands_1D\application.windows\Hands_1D.exe"
 Name: "{group}\{#MyAppName}\Hands 2D"; Filename: "{app}\Front Processing\src\Interaction_examples\Hands_2D\application.windows\Hands_2D.exe"
-Name: "{commondesktop}\TraKERS - Middleware"; Filename: "{app}\Middleware\Trakers.exe"
+Name: "{commondesktop}\TraKERS - Middleware"; Filename: "{app}\Middleware\MainModule.exe"
 Name: "{commondesktop}\TraKERS - Hand Pointing"; Filename: "{app}\Front Processing\src\Trakers\application.windows\Trakers.exe"
 Name: "{commondesktop}\TraKERS - Gesture Recognition"; Filename: "{app}\Front Processing\src\Trakers_gestures\application.windows\Trakers_gestures.exe"
 Name: "{commondesktop}\TraKERS - Fluid Manipulation"; Filename: "{app}\Front Processing\src\Fluid_manipulation\application.windows\Fluid_manipulation.exe"
--- a/middleware/src/MainModule/KinectMain.cs	Mon Apr 02 16:30:56 2012 +0200
+++ b/middleware/src/MainModule/KinectMain.cs	Wed Apr 04 10:51:21 2012 +0200
@@ -55,6 +55,8 @@
     {
         //Fenêtre de debug.
         private DebugWindow debug;
+        //Fenêtre de paramètres.
+        private DebugParameters parameters;
         //Squelettes (Il y en a 6 par défaut).
         private Skeleton[] skeletons;
         //Caméra infrarouge (sensor) de la Kinect.
@@ -106,12 +108,25 @@
             //On crée le détecteur de proximité.
             userPositionDetector = new UserPositionDetector(debug.getMinDist(), debug.getMaxDist(), debug.getZeroPoint(), debug.getMinDistHands(), debug.getMaxDistHands());
 
+            //On connecte le serveur à l'adresse locale sur le port 80.
+            try
+            {
+                server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing());
+                //On crée le gestionnaire de modes.
+                modeManagement = new ModeManagement(server, debug, this);
+            }
+            catch (Exception)
+            {
+                debug.ShowException("serverCantStart");
+            }
+
             //On écoute l'événement de clic sur le bouton on/off du debug.
             //Car on lancera l'intitialisation/fermeture de la kinect.
             debug.getSwitch().Click += new RoutedEventHandler(Switch_ClickInKinectMain);
             debug.Loaded += new RoutedEventHandler(Window_LoadedInKinectMain);
             debug.Closed += new EventHandler(Window_CloseInKinectMain);
             debug.getQuitMenu().Click += new RoutedEventHandler(Quit_ClickInKinectMain);
+            debug.getParametersWindow().getModButton().Click += new RoutedEventHandler(updateParameters);
 
             //On affiche la fenêtre de debug.
             try
@@ -123,6 +138,15 @@
         }
 
         /*
+         * Envoi les paramètres mis à jour dans les différents modules.
+         */
+        public void updateParameters(object sender, RoutedEventArgs e)
+        {
+            userPositionDetector.setParams(debug.getMinDist(), debug.getMaxDist(), debug.getMinDistHands(), debug.getMaxDistHands(), debug.getZeroPoint());
+            server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing());
+        }
+
+        /*
         *  Initialisation du sensor de la Kinect.
         */
         public void KinectInitialization()
@@ -191,18 +215,7 @@
             UserPositionListener userPositionListener = new UserPositionListener();
             UserPositionEvent += new UserPositionHandler(userPositionListener.showAndSend);
 
-            //On connecte le serveur à l'adresse locale sur le port 80.
-            try
-            {
-                server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing());
-                //On crée le gestionnaire de modes.
-                modeManagement = new ModeManagement(server, debug, this);
-                modeManagement.DetectProximityBasedModes(0);
-            }
-            catch (Exception)
-            {
-                debug.ShowException("serverCantStart");
-            }
+            modeManagement.DetectProximityBasedModes(0);
         }
 
         /*