middleware/src/MainModule/KinectMain.cs
changeset 16 a9ebacd6c089
parent 15 4b78f179e7ce
child 17 fda26bfcabef
--- 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);
         }
 
         /*